我遇到了一个简单的 javascript 代码的问题,它几乎只是这里代码的一个副本:http://www.w3schools.com/xml/xml_to_html.asp
<html>
<head>
<script type="text/javascript">
function displayMain()
{
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","catalog.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
x=xmlDoc.getElementsByTagName("VAR");
i=0;
variable1=(x[i].getElementsByTagName("VARIABLE")[0].childNodes[0].nodeValue);
name1=(x[i].getElementsByTagName("NAME")[0].childNodes[0].nodeValue);
value1=(x[i].getElementsByTagName("VALUE")[0].childNodes[0].nodeValue);
txt="Variable: " + variable1 + "<br />Name: " + name1 + "<br />Value: "+ value1;
document.getElementById("mainDiv").innerHTML=txt;
}
</script>
</head>
<body onload="displayMain(); setInterval('displayMain()', 1000)">
<div id='mainDiv'></div>
</body>
</html>
我想做的就是更改 xml 文件,从而在页面上更新新值。因此,例如,我更改了 xml 文件中的值,它将反射(reflect)在 html 页面中。它在 Firefox 和 Chrome 上运行良好,但在 IExplorer 上运行不佳。 IE 只是将我的旧值保留在那里,即使我刷新页面也是如此。我可以让它更新的唯一方法是删除临时文件。文件和历史。有谁知道解决这个问题的方法吗?用户必须拥有所有这些似乎不太实际。
最佳答案
GET 请求被缓存。在服务器上不设置缓存 header 。
或
附加一个随机查询字符串参数
xmlhttp.open("GET","catalog.xml?qs=" + new Date().getTime(),false);
关于javascript - 通过 javascript 从 xml 文件更新对象(IE 问题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7955706/