如何禁用/覆盖"你想离开这个网站吗?"警报?

时间:2016-08-02 14:42:01

标签: javascript jquery ruby-on-rails ajax

我在弹出窗口中有一个表单,由AJAX调用加载。它是使用RoR的form_for标记构建的。即使我没有修改其中的任何字段并尝试导航到另一个页面,Chrome也会显示以下警告。

enter image description here

我想禁用此警告框。可能吗?如果是,怎么样?

我已经尝试了this,但它已经无效了。

以下是环境设置

Ruby version = 1.9.3
Rails version = 3.1.4
Chrome version = 52
jQuery version = 1.10.2

6 个答案:

答案 0 :(得分:8)

显示警报是因为代码的某处,您在卸载事件之前覆盖了窗口,当您尝试关闭窗口时,事件将触发。 请尝试禁止此事件将此代码添加到您的代码中:

window.onbeforeunload = null;

答案 1 :(得分:1)

将其设置为空函数:

window.onbeforeunload = () => {}

答案 2 :(得分:1)

您可以挂钩beforeunload处理程序中的任何其他函数:

window.addEventListener("beforeunload", function(e){
    yourCustomFunction();
});

答案 3 :(得分:0)

$标记包含在form内,如下所示:

div

答案 4 :(得分:0)

你也可以试试这个。

$(window).off('beforeunload');

答案 5 :(得分:0)

添加这一行让我通过

window.addEventListener("beforeunload", function (e) { return true; });