$(窗口).unload没有触发

Ser*_*ero 16 jquery onbeforeunload

我想在用户使用jQuery放弃特定页面时执行一个动作方法.

该页面包含以下代码:

    <script type="text/javascript">

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

    </script>
Run Code Online (Sandbox Code Playgroud)

当我离开页面时,我从未看到预期的警报.

Dar*_*rov 31

实际上,如果您尝试alert在窗口中,某些浏览器(例如Google Chrome)可能会阻止unload.作为用户,我喜欢这个功能.每当您尝试离开页面时都会发出警报:

在此输入图像描述

将警报替换console.log为对用户不太干扰的其他内容,并且可以愉快地调用事件.

您可能还想检查onbeforeunload事件.

  • @trejder如果您在chrome中右键单击控制台,则可以选择在导航时保留日志 (8认同)
  • 值得为未来的搜索者标记"卸载"在jQuery v1.8中被弃用并在v3.0中被删除. (2认同)

bhe*_*elm 13

jquery .on('unload',..); 为我工作不可靠.我切换到使用beforeunload.只是确保你没有返回任何东西,或者用户会得到"你确定要离开页面"-popup.

<script type='text/javascript'>
    $(window).on('beforeunload', function(){
         console.log("beforeUnload event!");
     });
</script>
Run Code Online (Sandbox Code Playgroud)


Ben*_*lit 6

正如bhelm所说, beforeunload也 适用于我.
对此事件返回false将调用浏览器默认值

你确定要离开这个页面吗?


$(window).on('beforeunload', function ()
    {
        return false;
    });
Run Code Online (Sandbox Code Playgroud)