我在弹出窗口中有一个表单,它是通过 AJAX 调用加载的。它是使用 RoR 的
form_for
标签构建的。即使我不修改其中的任何字段并尝试导航到另一个页面,chrome 也会显示以下警报。
我想禁用此警报框。是否可以?如果是的话,怎么办?
我已经尝试过this,但它不再有效。
以下是环境设置,
Ruby version = 1.9.3
Rails version = 3.1.4
Chrome version = 52
jQuery version = 1.10.2
显示警报是因为在代码中的某个位置,您在卸载事件之前覆盖了窗口,并且当您尝试关闭窗口时,该事件会触发。 尝试禁止此事件,将其放在您的代码中:
window.onbeforeunload = null;
您可以在
beforeunload
处理程序中挂钩任何其他函数:
window.addEventListener("beforeunload", function(e){
yourCustomFunction();
});
将其设置为空函数:
window.onbeforeunload = () => {}
你也可以试试这个。
$(window).off('beforeunload');
添加这一行让我通过了
window.addEventListener("beforeunload", function (e) { return true; });
将您的
form
标签括在 div
内,如下所示:
<div class="col-xs-12 no-padding">
<form role="form" class="form-horizontal pad10-top" id="" onSubmit="return false;">
...
</form>
</div>