私は単純な Web ページを持っています。
<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 がイベントをトリガーする方法には多くの違いがあります(IE のテストに取り掛かったときpopstate
に、自分が何に直面しているのかを考えると身震いします)。popstate
これら 2 つのリンクのいずれかをクリックし、[戻る] ボタンを押してもう一度クリックします。Firefox は、ハッシュ部分を変更するリンクのイベントをトリガーし (ハッシュ リンクが同じ場合は初回のみ)、Yahoo リンクをクリックしてから [戻る] ボタンをクリックしても、まったくトリガーしません。
Firefox で、ユーザーが別のドメインのまったく別のサイトからクリックして戻ってきたことを確認する方法はありますか? Firefox でこの目的のために機能する別のイベントはありますか? (yahoo.com から戻ったときも load イベントはトリガーされません。)