我有一个简单的网页,即:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>History hacks</title>
<script>
window.onpopstate = function (e) {
alert("location: " + document.location + ", state: " + JSON.stringify(e.state));
}
window.onload = function (e) {
alert('page loaded');
}
</script>
</head>
<body>
<p> <a href="http://www.yahoo.com">Yahoo</a> <a href="#part1">Part 1</a></p>
</body>
</html>
现在关于 Chrome 和 Firefox 如何触发popstate
事件存在许多差异(当我开始测试 IE 时,我不寒而栗),但这里给我的问题是 Chrome 会在popstate
任何时候触发一个事件我单击这两个链接中的任何一个,然后在单击返回按钮时再次单击。Firefox 将触发更改哈希部分的链接的事件(如果哈希链接相同,则仅是第一次),如果我单击 Yahoo 链接然后单击后退按钮,则根本不会触发它。
那么有没有一种方法可以让我在 Firefox 中判断用户刚刚从不同域的完全不同站点返回并返回我的页面?在 Firefox 中是否有其他事件可以用于此目的?(当我从 yahoo.com 返回时,也不会触发加载事件。)