1. ホーム
  2. javascript

[解決済み] beforeunloadポップアップにカスタムメッセージを表示することは可能ですか?

2023-05-05 13:29:23

質問

を使用する場合 window.onbeforeunload (または $(window).on("beforeonload") ) を使用する場合、そのポップアップにカスタムメッセージを表示することは可能でしょうか?

多分、主要なブラウザで動作する小さなトリック?

既存の回答を見ていると、過去に以下のようなものを使って可能だったような気がします。 confirm または alert または event.returnValue などと表示されることがありますが、今はもう機能していないようです。

では、beforeunloadポップアップにカスタムメッセージを表示するにはどうすればよいのでしょうか?それはまだ可能ですか?

どのように解決するのですか?

tl;dr - ほとんどのモダンブラウザでカスタムメッセージを設定できなくなりました。

簡単なメモ (これは古い回答なので) - 最近のすべての主要なブラウザでは、カスタムメッセージを beforeunload ポップアップでのカスタムメッセージをサポートしていません。これを行うための新しい方法はありません。古いブラウザをまだサポートする必要がある場合は、以下の情報を参照してください。

ユーザーがウィンドウを閉じる前に確認メッセージを設定するには、次のようにします。

jQuery

$(window).bind("beforeunload",function(event) {
    return "You have some unsaved changes";
});

ジャバスクリプト

window.onbeforeunload = function() {
    return "Leaving this page will reset the wizard";
};



に気づくことが重要です。 はできません。 を置く confirm/alert 内側 beforeunload



もう少しだけメモ。

<ブロッククオート
  1. NOT はすべてのブラウザでサポートされています (詳細は ブラウザの互換性 のセクションをご覧ください) 2. Firefox では、このメッセージがユーザーに表示されるためには、ページと何らかの実際のインタラクションを行わなければなりません。

    3. 各ブラウザはメッセージに独自のテキストを追加することができます。

私がアクセスできるブラウザを使った結果は以下のとおりです。

Chromeです。

Firefoxです。

サファリです。

IEです。

念のため - jqueryが含まれている必要があります。

ブラウザのサポートとカスタムメッセージの削除に関する詳細情報です。

  1. Chrome 削除 バージョン51でカスタムメッセージに対応
  2. オペラ 削除 バージョン38でカスタムメッセージに対応
  3. Firefox はバージョン 44.0 でカスタムメッセージのサポートを削除した (この情報のソースを探しているところです)
  4. サファリ は削除されました。 バージョン9.1でカスタムメッセージに対応