このページから移動してもよろしいですか?メッセージを無効にする方法はありますか? Chromeを使用しています。
これらのメッセージは、onunload
またはonbeforeunload
イベントをリッスンすることにより、Webサイト開発者によって実装されます。
これらのイベントをブロックする about.comから入手可能なユーザースクリプト があります。
このユーザースクリプト(またはそのための他のユーザースクリプト)をインストールするには、まずChrome TensionMonkeyと呼ばれる拡張機能 をインストールする必要があります。
ユーザースクリプトをインストールするときは注意してください。ユーザースクリプトは、望まないかもしれないことを実行できます。信頼できるソースからのユーザースクリプトのみをインストールします。
$(window).off('beforeunload.windowReload');
これは私のために働いています。
JQueryの使用
_$(window).off('beforeunload'); // tested in IE 11 and Chrome 62
_
jQuery docs から
引数なしで.off()を呼び出すと、要素にアタッチされているすべてのハンドラーが削除されます。イベント名、名前空間、セレクター、またはハンドラー関数名の組み合わせを提供することにより、特定のイベントハンドラーを要素から削除できます。
つまり、$(window)
は、jQueryオブジェクトにラップされたウィンドウオブジェクトへの参照を提供します。このラッパーにより、オブジェクトで使用可能なjQuery API(_.off
_など)にアクセスできます。 .off()
を呼び出して文字列beforeunload
を提供すると、以前にbeforeunload
イベントをリッスンしていたイベントリスナーがすべて削除されます。
注:私は、Googleでの簡単な調査の後に見つけたVanilla JSのアプローチを試しました。しかし、この問題を解決するために割り当てられた時間内に、これらのアプローチを機能させることができませんでした。まだブラウザ間互換性のあるjQuery以外のメソッドを誰かが持っている場合は、コメントするか、追加の回答を投稿してください。 :)
@wickdninjaからコマンドを機能させるには、まずChrome Developer Toolsをインストールします。次に、それを開くと、「コンソール」のタブが表示されます。「コンソール」タブをクリックします。次に、jQueryを有効にするには次のコマンドを入力します。
var jqry = document.createElement('script');
jqry.src = "https://code.jquery.com/jquery-3.3.1.min.js";
document.getElementsByTagName('head')[0].appendChild(jqry);
jQuery.noConflict();
次に、次のように入力します。
$(window).off('beforeunload');
その後、「Leave?」を取得せずにGmailを開閉できます。促す。 https://developers.google.com/web/tools/chrome-devtools/console/javascript
お役に立てれば。