onbeforeunload函数出现严重问题

onbeforeunload function having serious issue

本文关键字:问题 函数 onbeforeunload      更新时间:2023-09-26

我使用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?';
});

不要绑定,使用on,我不知道你使用的是什么jquery版本,但我建议使用"on"。

在这里工作良好:

链路

在jquery版本2.x(边缘)上