web-dev-qa-db-ja.com

$(window).unloadが起動していません

ユーザーがjQueryを使用して特定のページを放棄しているときにアクションメソッドを実行したい。

このページには次のコードがあります。

    <script type="text/javascript">

        $(window).unload(function () {
            alert("Handler for .unload() was called.");
        });

    </script>

ページから移動すると、予想されるアラートが表示されません。

16
Sergio Romero

実際、Googleのような一部のブラウザChromeは、ウィンドウalertunloadを試みるとブロックされる可能性があります。ユーザーとしては、この機能が気に入っています。ページから離れて移動するのは面倒です:

enter image description here

アラートをconsole.logまたはユーザーの邪魔にならないものに置き換えると、イベントが喜んで呼び出されます。

onbeforeunload イベントをチェックアウトすることもできます。

30
Darin Dimitrov

jquery .on( 'unload'、..);私のために働くことは信頼できませんでした。 beforeunloadを使用するように切り替えました。何も返さないことを確認してください。そうしないと、ユーザーに「ページを離れてもよろしいですか」ポップアップが表示されます。

<script type='text/javascript'>
    $(window).on('beforeunload', function(){
         console.log("beforeUnload event!");
     });
</script>
13
bhelm

ヘルムが言ったように アンロード前 私にも役立ちます。
このイベントでfalseを返すと、ブラウザのデフォルトが呼び出されます

このページから移動してもよろしいですか?


$(window).on('beforeunload', function ()
    {
        return false;
    });
6
Benny Margalit

このページを離れたことをユーザーに警告する場合は、

/* $(window).unload(function()
{
        //alert("you leaving this page");
        console.log("you leaving this page");
}); */

関数が機能しない場合、コードを次のようにon( "beforeunload"、function)に置き換えます

$(window).on("beforeunload", function()
{
        alert("you leaving this page");
        console.log("you leaving this page");
});

私のこの仕事!コンソールログで出力を確認できます このページから移動します

0
Mohsin Shoukat
window.onbeforeunload=navigationError;

var dont_confirm_leave = 0; var leave_message = 'You sure you want to leave?';

function navigationError(e) 
  {
    if(dont_confirm_leave!==1)
    {
      if(!e) e = window.event;
      //e.cancelBubble is supported by IE - this will kill the bubbling process.
      e.cancelBubble = true;
      e.returnValue = leave_message;
      //e.stopPropagation works in Firefox.
      if (e.stopPropagation) 
      {
        e.stopPropagation();
        e.preventDefault();
      }

      //return works for Chrome and Safari
      return leave_message;
    }
  }
0
Kshitiz