javascript - 通过 javascript 从 xml 文件更新对象(IE 问题)

标签 javascript html xml internet-explorer

我遇到了一个简单的 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/

相关文章:

python - 奥杜 10 : Getting a view like invoice _line_ids from Invoice module

javascript - 我将 X Y Z 坐标转换为屏幕 X Y 坐标有什么问题?

javascript - 简单的 javascript 调用失败

java - Android - 一键更改到创建的下一个屏幕。下一件怎么办?

html - 使图像 float 到 HTML 列表的左侧

html - 边界有问题

java - 理解 xml 模式定位

javascript - 使用jQuery断开父节点的点击事件

javascript - 如何删除shortId中的特殊字符

javascript - Backbone : I am trying to fetch a collection (using a rails server). 但是,我的提取看起来无法正常工作