IE8后退按钮和动态内容

时间:2011-04-19 13:34:50

标签: javascript jquery internet-explorer-8

我有一个页面可以提取外部JavaScript文件,然后在该页面中动态生成一些内容(基本上会插入一些DIV和Flash对象)。

当用户离开此页面然后按下“后退”按钮时,Safari和Firefox会显示生成的内容,但IE 8不显示。

IE在历史记录中保留动态内容的最佳做法是什么?或者我是否必须侦听某些特定事件然后重新启动我的JavaScript?

顺便说一句,我有jQuery,所以也欢迎相关的插件建议。

编辑:这里是演示的链接: http://mmstest.eenet.ee/embed/281

如果点击底部的Google链接然后返回,Safari和FF会再次显示视频,IE8则不会。

2 个答案:

答案 0 :(得分:1)

我使用IE Developer工具栏进行了快速测试 - 我点击了回来,没有发生任何事情。然后我再次尝试但在点击之前我清除了缓存,当我回去时,视频出现了。

尝试确保强制IE清除浏览器缓存,即使单击后页也应加载视频。

----高速缓存后添加的编辑---

这不应该影响客户端浏览器从缓存中获得的Web应用程序的性能,因为只有触发JS嵌入视频的页面才会发送回标头以使缓存过期/禁用。 / em>其他所有内容 - JS脚本,图形/图像和视频事件 - 仍将由客户端缓存。

----编辑:更新,包括评论中的完整解决方案---

要禁用缓存包含的JavaScript文件,一种解决方案是将查询参数中的随机数附加到URL,以便浏览器不会缓存结果。

<script src="jquery.js?t=<?PHP echo rand() ?>">

这样就无需修改网络服务器设置来禁用系统范围内的静态JavaScript文件缓存。

答案 1 :(得分:0)

您应该考虑使用历史插件来获得与动态内容一致的结果。

这是一个包含一些插件jquery history plugin

的主题