Javascript 禁用';离开现场';弹出中间窗体
所以我基本上想删除离开网站的弹出窗口,如果用户填写了一个不在列表中的邮政编码,我会显示一个甜蜜的警报,它实际上会倒计时2秒,并将他们重定向到“抱歉,我们无法帮助页面”。问题是,然后会触发“离开站点,您所做的更改可能无法保存”弹出窗口,这看起来有点愚蠢 我试着在卸载之前四处看看并尝试使用,但我仍然得到了弹出窗口。有没有办法禁用它,或者自动确认它 我尝试过以下方法:Javascript 禁用';离开现场';弹出中间窗体,javascript,Javascript,所以我基本上想删除离开网站的弹出窗口,如果用户填写了一个不在列表中的邮政编码,我会显示一个甜蜜的警报,它实际上会倒计时2秒,并将他们重定向到“抱歉,我们无法帮助页面”。问题是,然后会触发“离开站点,您所做的更改可能无法保存”弹出窗口,这看起来有点愚蠢 我试着在卸载之前四处看看并尝试使用,但我仍然得到了弹出窗口。有没有办法禁用它,或者自动确认它 我尝试过以下方法: window.addEventListener('beforeunload', onbeforeunload); function o
window.addEventListener('beforeunload', onbeforeunload);
function onbeforeunload(e) {
console.log('>>>> onbeforeunload called');
e.returnValue = "false";
};
及
但是这两个选项仍然会弹出弹出窗口…与
addEventListener
相对应的正确选项是removeEventListener
…@04FS,但是您仍然必须给出添加了addEventListener
的处理程序的引用。如果是OP无法控制的事情,那么调用removeEventListener
就不容易了。所以,问题是-停止导航的事件处理程序是如何添加的?@VLAZ是的,当然。根据他们显示的代码,我假设函数onbeforeunload
实际上是他们自己的处理程序。您需要向我们提供更多关于您所做的更改可能无法保存的信息。你在用图书馆吗?图书馆怎么知道你改变了表格?肯定有办法重置该表单吗?我没有为该警报使用库,它只是浏览器内置的默认警报--我还尝试了使用.reset()命令表单上的javascript方法,但我仍然得到了弹出窗口。与addEventListener
相对应的正确方法是removeEventListener
。@04FS,但您仍然必须给出添加了addEventListener
的处理程序的引用。如果是OP无法控制的事情,那么调用removeEventListener
就不容易了。所以,问题是-停止导航的事件处理程序是如何添加的?@VLAZ是的,当然。根据他们显示的代码,我假设函数onbeforeunload
实际上是他们自己的处理程序。您需要向我们提供更多关于您所做的更改可能无法保存的信息。你在用图书馆吗?图书馆怎么知道你改变了表格?当然有办法重置该表单?我没有使用该警报库,它只是浏览器内置的默认警报——我也尝试过在表单上使用.reset()javascript方法,但我仍然得到了弹出窗口。
window.onbeforeunload = null;