微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Javascript:压制“此页面要求您确认要在onbeforeunload上保留”弹出窗口

用户离开页面时,我需要询问他是否要在离开之前执行特定操作.
<script type="text/javascript">
$(document).ready(function() {
        window.onbeforeunload = askConfirm;
});

function askConfirm() {
    var addFriend = confirm("Would you like to ping?");
    if (addFriend) {
        var xmlhttp;
        if (window.XMLHttpRequest) {
            xmlhttp=new XMLHttpRequest();
        } else {
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
        xmlhttp.open("GET","http://example.com?ping=1234",true);
        xmlhttp.send();
    }
    return null;
}

根据最后一个return语句的值(“”,null,true,false,或者根本没有return语句),我可以有以下两种情况之一:

1)用户得到“你想ping吗?”确认(好),发送ping(好),并向用户显示“此页面要求您确认要离开”弹出窗口(BAD).

-要么-

2)用户得到“你想要ping吗?”确认(好),ping不发送(BAD),并且没有向用户显示“此页面要求您确认要离开”弹出窗口(正常).

如何发送AJAX ping,但是抑制“此页面要求您确认要离开”弹出窗口?

编辑:听起来很荒谬,我发现这个问题的“解决方法”是在xmlhttp.send()语句之后发出alert().唯一干净的方法是提醒用户他的ping已被发送.如果未来StackOverflowers找到更好的解决方案,我很想知道.

谢谢.

解决方法

好吧,而不是在你离开之前做的,我做了onunload,这是我在FF和IE工作(除了铬,这就是我得到的): http://jsfiddle.net/rmpLm/9/.

也许你可以让它在chrome上工作,但如果你不能,也许你可以这样做,如果你点击确定,它会带你到你发送它的页面.希望能帮助到你 : )

编辑:也许你应该考虑制作它,以便它上载

原文地址:https://www.jb51.cc/js/158876.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐