当前位置:  开发笔记 > 编程语言 > 正文

使用jQuery在Chrome和IE中设置body元素的onbeforeunload

如何解决《使用jQuery在Chrome和IE中设置body元素的onbeforeunload》经验,为你挑选了2个好方法。

我有一个系统,如果他们确定他们想要在设置脏标志后离开页面,我想与用户核实.

我正在使用以下代码 - 在FireFox中,我可以通过FireBug查看页面源,并且标记正确地在其中插入了onbeforeunload属性.

在Chrome和FireFox中,这种情况不会发生,我可以离开页面而不会发出任何警告.用于更新body标签的jQuery行肯定正在执行,它只是没有执行它.

if ($("body").attr('onbeforeunload') == null) {
    if (window.event) {
        // IE and Chrome use this
        $("body").attr('onbeforeunload', 'CatchLeavePage(event)');
    }
    else {
        // Firefox uses this
        $("body").attr('onbeforeunload', 'return false;CatchLeavePage(event)');
    }
}

有什么想法从这里开始?



1> krcko..:

你不能通过返回false来中止页面卸载.您必须返回将在消息框中显示给用户的字符串,并且他决定是否要离开或留在页面上(通过选择"确定"或"取消"按钮),因此您需要编写代码,如这个:

 window.onbeforeunload = function() {
    return "Are you sure you want to leave this page bla bla bla?"; // you can make this dynamic, ofcourse...
 };



2> 小智..:

试试这个

  

推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有