0

我正在使用以下脚本来解析 XML 文档并将其显示在网站上,这一切都很好,但是我在我的 html 文档中间有这个脚本内联。

它似乎阻止了我的页面加载大约 300 毫秒,所以我想把它放在文档的末尾来解决这个问题。

所以我的问题是......我怎样才能在文档末尾有这个脚本,但仍然在文档中间显示输出。

<script>
if (window.XMLHttpRequest) {
    xhttp = new XMLHttpRequest();
} else {
    xhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xhttp.open("GET", "abc.xml", false);
xhttp.send();
xmlDoc = xhttp.responseXML;
x = xmlDoc.getElementsByTagName("xr")[0].attributes;
att = x.getNamedItem("value");
document.write(att.value);
</script>

谢谢 !

4

2 回答 2

0

如果您使用的是 jQuery 库,您可以尝试以下操作(将脚本放在底部):

<body>
    <div id="test">Click here to show XML</div>
    <script>
        $(document).ready(function(){
           function showXML(){
              if (window.XMLHttpRequest) {
                 xhttp = new XMLHttpRequest();
              } else {
                 xhttp = new ActiveXObject("Microsoft.XMLHTTP");
              }
              xhttp.open("GET", "abc.xml", false);
              xhttp.send();
              xmlDoc = xhttp.responseXML;
              x = xmlDoc.getElementsByTagName("xr")[0].attributes;
              att = x.getNamedItem("value");
              document.write(att.value);
           }
           $("#test").on('click', function(){
              showXML();
           });
       });
    </script>
</body>
于 2013-06-12T10:11:39.447 回答
0

如果您不介意制作 onclick 功能...

<body>
    <div onclick="showXML()">Click here to show XML</div>
    </body>
    <script>
    function showXML(){
    if (window.XMLHttpRequest) {
        xhttp = new XMLHttpRequest();
    } else {
        xhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xhttp.open("GET", "abc.xml", false);
    xhttp.send();
    xmlDoc = xhttp.responseXML;
    x = xmlDoc.getElementsByTagName("xr")[0].attributes;
    att = x.getNamedItem("value");
    document.write(att.value);
    }
    </script>
于 2013-06-12T08:06:48.333 回答