XML解析阻止页面加载

问题描述:

我使用下面的脚本来解析XML文档并将其显示在网站上,这一切都很好,但我的脚本内嵌在我的html文档中。XML解析阻止页面加载

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

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

<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> 

谢谢!

如果你不介意做一个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> 
+0

那就需要是和负载,而不是一个onclick我害怕,我在网站上使用jQuery的,如果这有助于$(document).ready()谢谢 – itezora

+0

等等,所以你解决了吗?或者你问的如何做这与onload和$(document).ready()@ user2201059? – AlvinArulselvan

+0

不,我没有解决它,所以请如果你能告诉我如何用这种方法(或任何其他onload方法),它会很好! :) – itezora

如果你使用jQuery库,你可以尝试以下(putting the script at the bottom):

<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> 
+0

如何在不点击的情况下使用此方法?理想情况下,我希望它自动加载和显示,但不阻止页面加载..谢谢 – itezora