我正在使用以下脚本来解析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>
谢谢!
答案 0 :(得分: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>
答案 1 :(得分:0)
如果您正在使用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>