奇怪的IE& Javascript问题

时间:2008-10-30 16:18:28

标签: javascript internet-explorer web-applications

所以我根据用户点击页面的位置使用javascript创建一些HTML。在页面加载时,脚本将使用ul和一些数据替换空div。用户单击该数据以接收更多,依此类推。现在,当用户离开页面然后点击后退按钮返回页面时,IE显示一个带有替换div的空白页面,在所有其他浏览器中,FF,Opera,Safari,页面重新加载到初始ul或者回到最后一个包含动态数据的状态。

任何人都知道这里可能会发生什么?任何帮助表示赞赏。

3 个答案:

答案 0 :(得分:1)

听起来您需要管理页面的历史记录和状态。查看我们的Brad Neuberg的Really Simple History

答案 1 :(得分:1)

向后和向前导航时onload事件的行为不是标准的跨浏览器。作为一般规则,我发现当您单击后退时,onload事件往往不起作用,因为浏览器从缓存加载它而不是重新请求页面。您可以尝试使用dom ready事件而不是窗口加载。

答案 2 :(得分:1)

特鲁尔的回答是正确的。 Opera和后来的Firefox(> 1.5)不考虑从缓存加载页面,因为需要触发onload事件,因为缓存了完整的DOM状态。

这对于跨浏览器进行标准化非常简单,因为如果定义window.onunload事件,Opera和Firefox不会出现此行为。见http://developer.mozilla.org/en/Using_Firefox_1.5_caching