阻止 Firefox 重新加载确认

新手上路,请多包涵

我在可编辑表格中显示某些记录。用户在编辑记录时尝试重新加载表时,会弹出一个警告记录未保存数据的窗口。

 function cancelProcess()
{
    if(noEditedRecords !=0)//number of edited records in the table
    {
        var processConfirmation = confirm("You've Edited "+ noEditedRecords +" Records. Are You sure to undo the Changes made?");

        if (processConfirmation ==true){
            window.onbeforeunload = null;
            window.location.reload();
        }
    }
}

当他单击“确定”重新加载页面时,Firefox 提示为

要显示此页面,Firefox 必须发送将重复之前执行的任何操作(例如搜索或订单确认)的信息。

而在Chrome中打开同一个页面时,没有出现这样的提示。

我试图通过设置 window.onbeforeunload = null; 来避免这种情况,但提示窗口仍然出现在那里。

我还尝试更改 Firefox 配置:

browser.sessionstore.postdata

按照 Mozilla 支持页面中的建议 将 0 更改为 1

但没有任何效果..我如何防止提示?

原文由 Emmi 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 741
1 个回答

使用

window.location=window.location;

代替

location.reload();

为我工作。

原文由 Ricardo Huertas 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题