是否有关闭标签或浏览器时会触发的事件?
我想首先警告用户,如果他们确定要退出,如果没有,则默认()。
这不起作用:
angular.element($window).bind("beforeunload", function (event) {
var response = confirm('Sure?');
if(!response){
event.preventDefault();
}
});
答案 0 :(得分:0)
在处理该事件时,您无法使用confirm
,您必须返回一个字符串,该字符串将用作确认消息:
angular.element($window).bind("beforeunload", function (event) {
return 'Sure?';
});
请注意,您无法确保用户看到此确认对话框:
当此事件返回非void值时,系统会提示用户 确认页面卸载。在大多数浏览器中,返回值 事件显示在此对话框中。在Firefox 4及更高版本中返回 字符串不会显示给用户。相反,Firefox会显示 字符串"此页面要求您确认是否要离开 - 您输入的数据可能无法保存。"见bug 588292。
自2011年5月25日起,HTML5规范声明要调用 window.alert(),window.confirm()和window.prompt()方法可能是 在此活动期间被忽略。有关更多信息,请参阅HTML5规范 的信息。
另请注意,各种移动浏览器会忽略该事件的结果 (也就是说,他们不会要求用户确认)。 Firefox有一个 在about:config中隐藏的偏好做同样的事情。本质上这个 表示用户始终确认可以卸载文档。
理由是网站不应该让关闭标签/窗口/浏览器变得困难或痛苦。
答案 1 :(得分:0)
Try :
的jQuery(窗口).bind( " beforeunload&#34 ;, function(){ 返回确认("你真的想关闭吗?") } );