今天在查看Pentaho的CDE组件代码时发现了利用ActiveXObject对象将字符串成DOM对象的代码,其中涉及到如何在不支持DOMParserAPI的浏览器中将字符串解析成DOM对象的兼容技术。具体代码如下:

function parseXML (sText) {
      if(!sText) {
        return null;
      }
      var xmlDoc;
      try { //Firefox, Mozilla, Opera, etc.
        return (new DOMParser()).parseFromString(sText, "text/xml");
      } catch(e) {
        try { //Internet Explorer
          xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
          xmlDoc.async = "false";
          xmlDoc.loadXML(sText);
          return xmlDoc;
        } catch(e) {
        }
      }
      return null;
    }

ActiveXObject相关文档地址:https://msdn.microsoft.com/zh...

老IE浏览器XML解析器:http://www.runoob.com/xml/xml...

DOMParser浏览器级别API将字符串解析成DOM对象:https://developer.mozilla.org...


而井
851 声望1.8k 粉丝