[英]How to use Impromptu as an confirm alert
我想在重新加载页面时使用即兴警报框作为确认框。 现在,我正在使用这个普通的javascript。
window.onbeforeunload = function(event) {
return confirm("Confirm refresh");
};
但是我不再想要使用此功能,因此是否有机会在页面重新加载时加载Impromptu确认框?
提前致谢
简短的回答:不。
长答案:Javascript不可能等待卸载之前(或之前)的回调。 如果事件返回,页面将被卸载。 考虑到这一点,自定义确认框将始终需要等待用户交互,并且不会阻塞。 因此Impromptu(或与此相关的任何其他插件)将无法阻止该页面的卸载。 本机函数(例如alert,confirm甚至XMLHttpRequest ...)有一个例外,这些例外是或可以阻止的,因此可以在pageunload上执行。
Mozilla文档告诉我们,现代浏览器甚至阻止在window.onbeforeunload
创建对话框。 如果我在chrome中测试您的功能,则会创建一个对话框:
确认导航
假
您确定要离开此页面吗?
您可以做的最好的事情是:
window.onbeforeunload = function() {
return "There is more to see on this site!";
};
这将创建一个类似以下的框:
确认导航
在这个网站上还有更多值得一看的地方!
您确定要离开此页面吗?
在页面重新加载上执行操作的唯一方法是在页面重新加载之后,即在新请求的页面上。
注意:我强烈不鼓励使用onbeforeunload事件,这会给您的用户带来麻烦,因为他们在关闭页面之前必须单击额外的弹出窗口。 当网站对我这样做时,我真的不喜欢它,就像垃圾邮件一样。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.