3

Firefox では、各 document.write() の後に新しい履歴エントリが作成されるため、ユーザーが戻るボタンを押して履歴に戻るときにページの読み込み時に document.write() が呼び出されると、Firefox は document.write( を実行する現在のページに移動します。 )再び別の履歴を作成するため、もう一度戻るボタンを押しても役に立たず、彼が望む場所に連れて行ってくれます

簡単な回避策は次のとおりです。

function onbeforeunload(e) 
{
    setTimeout(function() { window.history.go(-2);  }, 0);
}
window.addEventListener("beforeunload", onbeforeunload, true);

しかし、ユーザーがリンクに移動したり、アドレスバーにアドレスを入力してそこに移動したりすることはできません。Firefoxを修正する別の方法はありますか?

より良い方法は、onpopstate代わりにイベントを使用することですが、document.write() の後に firefox では機能しません。

いいえ、ここでは document.write()を使用する必要があります。

4

2 に答える 2