2015-05-29 93 views
-2

我试图在用户离开页面时,意味着改变标签等,这触发事件是我到目前为止有:事件触发离开页面

<!DOCTYPE html> 
<html> 
    <head> 
     <meta charset="UTF-8"> 
     <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script> 
     <script> 
      $(window).on('beforeunload', function() { 
       alert('Youre trying to leave this page'); 
      }); 

      $(document).ready(function() { 
       alert('test'); 
      }); 
     </script> 
     <title>Bounce catcher</title>  
    </head> 
    <body> 
     hdjkfhdskjfhdskhfds 
    </body> 
</html> 

但事实并非如此工作。 “测试”警报正常显示,但beforeunload事件中的其他警报不起作用,显示任何内容。无论是改变标签还是关闭标签。

我在osx上使用chrome,出了什么问题?控制台也不显示任何内容。将事件更改为“卸载”也不起作用。将窗口功能置于文档块内不起作用。

+0

你不能,只是检查DOC用于'beforeunload'事件。你应该返回一个字符串,但这是浏览器实现的依赖 –

+0

那么我该如何做到这一点? – khernik

+0

'return'你试图离开这个页面';'而不是'alert()'AFAIK,FF(version?)不允许自定义字符串 –

回答

1
<script> 
    $(window).on('beforeunload', function() { 
     return 'Youre trying to leave this page'; 
    }); 

    $(document).ready(function() { 
     alert('test'); 
    }); 
</script> 
+0

不,不工作。 – khernik

+0

@khernik如何? –

+0

您正在测试哪个浏览器的代码? –

0

在你的函数返回替换的警报,请记住,beforeunload回报是必须在此功能对于此功能工作

$(window).on('beforeunload', function() { 
       return 'Youre trying to leave this page'; 
      });