zoukankan      html  css  js  c++  java
  • 在FF与IE中使用数据岛

    <div style="display:none;"><xml id="XMLNode"><xmp>
    <Root>
    ...
    <III>&lt;![CDATA[***]]&gt;</III>
    ...
    </Root>
    </xmp>
    </xml>
    </div>

    <script language="javascript>
    function XXXXXX()
    {
       var RootNode;
       if(isIE)
       {
          var xmlNode=document.getElementById("XmlNode");
          var strXML=xmlNode.textContent;
          strXML=strXML.replace(/<III>&lt;!\[CDATA\[(.*)\]\]&gt;<\/III>/g,"<III><![CDATA[$1]]></III>");
          var xmlDocument=new DOMParser().parseFromString(strXML,"text/xml");
          RootNode=xmlDocument.documentElement;
        }
        else
        {
            var xmlNode=document.getElementById("XmlNode");
            var strXML=xmlNode.innerHTML;
            strXML=strXML.replace(/<III>&lt;!\[CDATA\[(.*)\]\]&gt;<\/III>/g,"<III><![CDATA[$1]]></III>");

            var RootNode=new ActiveXObject("Microsoft.XMLDOM");
            RootNode.async="false";
            RootNode.loadXML(strXML);
        }

        // get child node & view nodeType==1

        // nodeType==1: Element node
        // nodeType==3: Text node
        // nodeType==8: Rem node
    }
    </script>






    因为数据要放在<![CDATA[和]]>之间,所以在生成<div>前要对数据进行转换:
    & =>&amp;
    < => &lt;
    > => &gt;
    得到数据后又要反向转回来。

  • 相关阅读:
    Linux内核中的双向链表struct list_head
    Linux文件的基本操作函数
    Ubuntu下载源码并编译
    Ubuntu搭建交叉编译开发环境
    终端下更改printk打印级别
    进程内存分配
    程序的内存分配
    C语言数据类型char
    RSA算法原理(简单易懂)
    常见复杂指针声明的解析(很详细)
  • 原文地址:https://www.cnblogs.com/huqingyu/p/633418.html
Copyright © 2011-2022 走看看