leo*_*tes 6 javascript jquery sweetalert
我想在关闭窗口之前向用户显示一条消息.我正在使用运行良好的SweetAlert(http://tristanedwards.me/sweetalert).
问题在于JavaScript/jQuery让我知道用户何时尝试关闭窗口/标签然后显示阻止他关闭页面的内容,除非他再次点击.
<script language="JavaScript">
window.onbeforeunload = confirmExit;
function confirmExit() {
swal("Here's a message!");
return "You have attempted to leave this page. Are you sure?";
}
</script>
Run Code Online (Sandbox Code Playgroud)
我试过这个,但它在我的SweetAlert上显示了丑陋的常见信息,任何想法?没有返回部分它无论如何关闭窗口,我试过:/
您无法禁用警报,也无法更改警报的样式onbeforeunload
.主要原因是安全问题.
从MDN文档,WindowEventHandlers.onbeforeunload,它说,
当此事件返回非void值时,将提示用户确认页面卸载.在大多数浏览器中,事件的返回值显示在此对话框中.在Firefox 4及更高版本中,返回的字符串不会显示给用户.相反,Firefox显示字符串"此页面要求您确认要离开 - 您输入的数据可能无法保存." 见bug 588292.
自2011年5月25日起,HTML5规范声明在此事件期间可能会忽略对window.alert(),window.confirm()和window.prompt()方法的调用.有关更多详细信息,请参阅HTML5规范.
另请注意,各种移动浏览器会忽略事件的结果(即,他们不会要求用户进行确认).Firefox在about:config中有一个隐藏的首选项来做同样的事情.实质上,这意味着用户始终确认可以卸载文档.