2

重複の可能性:
chromeでwindow.onbeforeunloadが機能しない

javascript でブラウザのウィンドウ/タブを閉じるイベントを処理する際に問題に直面しています。ブラウザのウィンドウ/タブを閉じる前に、関数をトリガーするために多くのケースを試してみました。

私の関数では、以下のような簡単なアラート メッセージを表示する必要があります。

 function doBeforeClose(){
 // do work needed
 alert("you have successfully logged out");
 }

この機能をトリガーしようとしました

<body onbeforeunload="doBeforeClose()">

また

window.onbeforeunload = function(evt){ .... }

IE と Mozilla でこの関数を呼び出すことはできますが、Chrome ではできません。このイベントをキャプチャするためのクロムにバグがあることを知りました(バグまたはセキュリティ上の問題の機能である可能性があります)。

このイベントは、ページのアンロードではなく、閉じるイベントでのみトリガーする必要があるため、これでも要件を満たしていません。

つまり、ページの更新/リダイレクト時に呼び出されます。

更新時にこれを回避するために、F5 と Ctrl_R のイベントをキャプチャしましたが、更新ボタン イベントをキャプチャできませんでした。

マウス座標を取得して更新ボタン イベントをキャプチャしようとしましたが、すべてのブラウザーのボタンの配置が同じではないため、推奨されるオプションではありません。

必要なことをしてください。

4

0 に答える 0