这是一段非常简单的 jQuery 代码:
$(document).ready(function() {
alert('document ready was called');
});
在 Firefox 上(我测试了版本 5 和 6),如果您加载页面,转到同一站点上的另一个页面,然后返回该页面,则不会执行此代码 - 仅当您刷新时才会加载该代码页面。
有没有办法强制 JavaScript 在后退/前进导航时加载?也许通过强制不缓存?如果是这样,会对性能产生什么影响?
最佳答案
这是因为 Firefox 不会重新加载页面 - 它会完全恢复为您离开时的样子,所有动态更改和 JavaScript 变量仍然完好无损。通常,发生这种情况时没有任何理由运行额外的代码。但是,如果您仍然需要它,可以收听 pageshow
事件。附加信息:https://developer.mozilla.org/En/Using_Firefox_1.5_caching (是的,这个功能太老了)。
关于返回页面后,Firefox 中未调用 jQuery 文档准备就绪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7152625/