0

私のアプリケーションでは、ページがアンロード状態のときに onbeforeunload を使用して関数を呼び出します。そのJavaScript関数に、これを引き起こすために正確にヒットしたアクションを特定する方法はありますか? 私の問題は、ページに 2 つの iframe が含まれていることです。それぞれが独自のページです。両方のページのアンロードをチェックしていますが、そのうちの 1 つについては、x をクリックしてブラウザーまたはウィンドウを閉じた場合に、ナビゲーション ボタンが押された場合にのみ、エラーを発生させたくありません。(この方法では、ユーザーが x をクリックして閉じると、一度ページを離れたい場合にのみプロンプトが表示されます)。以下にリストされているのは、私が使用した JavaScript のサンプルです。再度、感謝します。

    function UnLoadWindow() {
        return 'Please do not use Browser Navigation Buttons. Please make sure all work is Saved prior to leaving this page.'

}


window.onbeforeunload = UnLoadWindow;
4

1 に答える 1

0

これは古い質問なので、おそらく既に解決策を見つけているでしょう。

ただし、onbeforeunload の代わりに onhashchange イベントを使用してみることができます。それなら、近くで発砲すべきではありませんか?

繰り返しになりますが、iframe に何が入っているのか、そこから他のページに移動できるかどうかはわかりません。

ただし、newURL と oldURL の値があるため、ユーザーが前のページに戻るかどうかを判断するために使用できます。

それを見てください:

onhashchange イベント

于 2014-02-14T01:45:42.173 に答える