Javascript onbeforeunload函数存在严重问题

Javascript onbeforeunload函数存在严重问题,javascript,jquery,Javascript,Jquery,我正在使用native.history.js将自定义URL放在后退按钮中 剧本写得很好。现在的问题是,我想在单击刷新按钮时进行页面重定向;所以我修改了脚本如下: <script> var back = 0; $(window).bind('beforeunload', function () { if (confirm('Want to continue?')) { if (back == 1) { alert('back');

我正在使用native.history.js将自定义URL放在后退按钮中

剧本写得很好。现在的问题是,我想在单击刷新按钮时进行页面重定向;所以我修改了脚本如下:

<script>
var back = 0;
$(window).bind('beforeunload', function () {
    if (confirm('Want to continue?')) {
        if (back == 1) {
            alert('back');
            //window.location.href = "<?=$$last_offer?>";
        } else {
            alert('refresh');
            //window.location.href = "<?=$actual_link;?>";
        }
    } else {
        // Do nothing!
    }
});

window.onpageshow = function (e) {
    if (e.persisted) {
        location.reload();
    }
};

window.onpopstate = function (event) {
    if (document.location.toString().indexOf("redir=1") > 0) {
        back = 1;
        window.location.href = "<?=$$last_offer?>";
    }
};
</script>
问题是,beforeunload函数似乎不起作用。 有什么问题我找不到?。 如果单击“后退”按钮,页面将转到所需页面,因此工作正常。 我想要的是,无论如何,页面刷新必须像我预期的那样工作。

尝试使用

$(window).on('beforeunload', function(){
  return 'Are you sure you want to leave?';
});
我不知道您使用的是什么jquery版本,但我会建议您继续使用

在这里工作很好:


在jQueryVersion2.xedge上,您可以在beforeunload处理程序中执行的操作非常有限。你真的看过我的密码了吗,伙计?我的问题是,基于返回值,我想导航还是不导航。。。。如果back=1且return为yes,则用户导航到link1;如果back=0且return为yes,则用户导航到link2