ホームページ >ウェブフロントエンド >jsチュートリアル >IE_javascript スキルの下で window.onbeforeunload メソッドが正しく動作しない問題の解決策

IE_javascript スキルの下で window.onbeforeunload メソッドが正しく動作しない問題の解決策

WBOY
WBOYオリジナル
2016-05-16 18:35:571074ブラウズ

この問題の原因は、ユーザーが Web 閲覧中に製品を注文することがよくあるが、一度に多くのウィンドウを開いたり、キーボードで入力するときに誤って F5 キーを押したりしてページが更新されることがあったと顧客から報告されたことです。または異常終了し、この時点で Web ページ上で行われた操作に関するすべての情報が失われます。顧客情報が処理されない場合にプロンプ​​トを提供できれば素晴らしいと思います。ユーザーがクリックして閉じるか、タスクバーを閉じるか、「戻る」をクリックするか、更新するか、F5 キーを押すかに関係なく、ユーザーは退出しようとしています。

コードをコピー コードは次のとおりです:



検出するページに bindingunbeforunload() メソッドを登録するだけです。このメソッドは本体の onload またはここでは window.onbeforeunload を使用します。これは、ページがアンロードされる前にプロンプ​​ト ボックスが表示されることを意味します。テスト コード:
コードをコピーします コードは次のとおりです:


これは onbeforunload イベントの ID ですテスト


テスト開始





今回テストしたコードはこれだけです。ページを更新すると、期待したダイアログ ボックスが表示されます。しかし、上記のコードを IE で開いたとき、「イベント バインディングの削除ボタン」が機能しなかったので、国内ユーザーの 3 分の 2 が IE を使用しており、特に IE6、7 を使用している場合は非常に落ち込んでいました。 IE6 および 7 では正常に動作しません。これは、私の作業が無駄であることを意味します。もちろん、ボーナスについて考える必要はありません。メソッドはすべて人が考え出したもので、ダイアログ ボックスを表示するかどうかを制御するためにグローバル変数を使用します。変更された「JavaScript」コードは次のとおりです。コードをコピーします