在多个HTML文件上使用一个responseXML?

时间:2012-02-25 02:29:30

标签: javascript xmlhttprequest

我正在寻找一个XmlHttpRequest(每30分钟一次 - 检索天气预报)并在多个html文档上使用XML响应。我看起来很近,只能将解析后的XML显示在一个文档上。

有没有办法从一个javascript函数中引用不同的文档?

没有框架,只是直接的javascript / ajax。

forecastXMLreq = new XMLHttpRequest();
forecastXMLreq.open("GET",forecastURL,false);
forecastXMLreq.send(); 
forecastXML = forecastXMLreq.responseXML;
var day1 = forecastXML.getElementsByTagName("weekday_short")[1].childNodes[0].nodeValue;
document.getElementById("day1").innerHTML = day1.toUpperCase();

多个html文件,我正在寻找一个XHR调用

1 个答案:

答案 0 :(得分:0)

最简单的方法是利用常规的http缓存。在接下来的页面中,您仍然需要在代码中请求该文件,但浏览器可能会跳过请求,而只是自动透明地从本地磁盘缓存中获取。您不能保证它将被缓存整整30分钟,因为浏览器具有有限的缓存空间并且它决定清除什么,以及何时清除。

只需将服务器配置为为该xml响应发送以下http标头

Cache-Control: max-age=1800

有关http缓存的更多信息 http://www.mnot.net/cache_docs/

另一种方法是利用浏览器为 html5本地存储提供的有限支持。虽然浏览器支持有限,但您不需要在代码中重新请求文件,但是不需要Web服务器配置,但是您将再次使用不同的代码从本地存储中检索它。