使用后退/前进时我遇到了同样的问题。如果您在后退/前进时没有遇到此问题,则可能是错字。但这可能是 Firefox 的奇怪行为。
这是一个简单的示例,对我来说后退按钮不起作用(即不触发事件,不涉及重定向):
<!DOCTYPE html>
<html>
<head>
<title>Simplest JQuery</title>
<script type="text/javascript" src="jquery-1.6.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
alert("document.ready");
});
</script>
</head>
<body>
<div>
Firefox will not fire document ready on back/forward navigation. Except when it
does.<br />
<a href="navigate-nowhere.html">Go!</a>
</div>
</body>
</html>
Firefox 肯定会显示一些错误,因为我从不同机器上的相同代码中得到不同的行为。使用最新的 FF5,它不能在 Windows 7 或 Leopard 上运行。我在 Snow Leopard 上有另一台机器,它的工作原理就像它在锡罐上所说的那样。
问题也不是 JQuery - 即使删除它并使用 addEventListener 也没有效果。使用内联事件(即通过 body 标签中的 onload)没有效果。此处记录的“空卸载”技巧也不起作用。
扩展也不是问题 - 我已经尝试将它们全部关闭。我尝试在 Leopard 机器上进行全新安装,没有任何更改。
有趣的是,focus/onfocus 事件确实有效——除非链接仍然在页面中突出显示。在这种情况下,window.onblur 事件会在之后触发,但仅在使用 tab 更改焦点时触发。