我有一个页面,它提取外部 JavaScript 文件,然后该文件动态生成一些内容到该页面中(基本上插入一些 DIV 和 Flash 对象)。
当用户离开此页面然后按“后退”按钮时,Safari 和 Firefox 会显示生成的内容,但 IE 8 不会。
IE 在历史中保留动态内容的最佳实践是什么?或者我是否必须监听某些特定事件,然后重新启动我的 JavaScript?
顺便说一句,我已经准备好了 jQuery,所以也欢迎相关的插件建议。
EDIT:这是演示链接:http://mmstest.eenet.ee/embed/281
如果您点击底部的 Google 链接然后返回,Safari 和 FF 会再次向您显示视频,而 IE8 则不会。
我使用 IE 开发人员工具栏进行了快速测试 - 我单击“返回”,但没有发生您提到的任何情况。然后我再次尝试,但在单击返回之前我清除了缓存,当我返回时视频出现了。
尝试确保强制 IE 清除浏览器缓存,并且即使单击背面页面也应该加载视频。
---- 缓存对话后添加的编辑 ---
这不会影响客户端浏览器从缓存中获得的 Web 应用程序的性能,因为您将发送回标头来使缓存过期/禁用仅适用于触发 JS 嵌入视频的页面。其他所有内容(JS 脚本、图形/图像和视频事件)仍将由客户端缓存。
---- 编辑:更新为包括评论中的完整解决方案 ---
要禁用包含的 JavaScript 文件的缓存,一种解决方案是将查询参数中的随机数附加到 URL,这样浏览器就不会缓存结果。
<script src="jquery.js?t=<?PHP echo rand() ?>">
这样就无需修改网络服务器设置来禁用系统范围内的静态 JavaScript 文件缓存。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)