在后退按钮单击上重新加载页面仅在调试模式下工作

时间:2018-04-24 10:43:33

标签: javascript asp.net webforms onbeforeunload

我正在浏览器的后退按钮上重新加载当前的aspx页面。

我有以下代码在IE11中运行。

window.onbeforeunload = function (evt) {   
    if (window.event) {          
        if (window.event.clientX < 40 && window.event.clientY < 0) {// Back button/IE   
            window.location.href = window.location.href; // not using window.location.reload() as I dont want to submit the form
        }   
    } 
};

这很好但我在这里得到了一个奇怪的行为。当我在window.onbeforeunload中添加调试器并调试代码时,它会成功重新加载当前页面而不是返回上一页。但是当我正常运行它(没有添加调试器)时,它就无法工作。

我尝试添加超时

setTimeout(function () { window.location.href = window.location.href; }, 3000);

但这也行不通。

我在提交表单时搜索了e.preventDefault()之类的一些方法,但这些方法似乎都不适用于此。

任何人都知道如何解决此问题或以其他方式实现此目标?

0 个答案:

没有答案