如何强制ie9浏览器从服务器而不是从缓存中读取xml

时间:2011-06-23 21:57:17

标签: javascript xml internet-explorer caching internet-explorer-9

对于那些如何让ie9从服务器读取xml文件而不是从缓存中解决问题的人来说,这是一个简单的解决方案。如果您能够使用javascript和XmlHttpRequest修改加载xml的html页面,则可以使用隐藏的iframe强制在刷新页面时加载xml。例如,在html页面的某处,添加以下内容:

    <iframe src="myfile.xml" width="0" height="0" style="display:none"></iframe> <!--resolves xml caching issues-->

希望这会有所帮助。它可能不是最好的解决方案,因为它导致从服务器再次获取,但我搜索并搜索并尝试了各种标头设置组合,例如xmlhttp.setRequestHeader(“Cache-Control”,“no-cache”)并且在ie9中没有任何工作!如果您关闭浏览器并重新打开它,ie8将从服务器读取xml。但ie9根本不会(至少不是来自我的godaddy服务器)。因此,使用此方法,您只需刷新页面,每次都会从服务器读取xml。 ie9似乎已经真正将缓存应用到极端,因为它使得很难获得新数据。我使用godaddy托管,我不确定是否会增加更多问题 - 可能是由于代理服务器。

希望这会有所帮助。 标记

2 个答案:

答案 0 :(得分:6)

将随机数加到文件名:

myfile.xml?rand=12345

答案 1 :(得分:3)

Karolis和cwolves的解决方案要好得多......如果我有“声望”点,我会把它们搞定。

事实上,它在AJAX / WebResource实现中使用得非常一致,除非他们通常在他们的请求中附加t = YearMonthDayHour24MinutesSeconds。