覆盖本机Javascript警报功能以捕获onbeforeunload警报

时间:2015-07-19 14:43:14

标签: javascript popup alert onbeforeunload

我的问题不是如何覆盖警报功能,然后根据需要装饰它。我的问题是当你覆盖这样的警报功能时:



window.alert = function(str){console.log('alert is called: '+ str);}




对于具有onbeforeunload事件的注册处理程序的页面,如下所示:



window.onbeforeunload= function(){return 'bye!';}



 它应该弹出一个警告框,其中包含字符串" bye"在离开页面之前,您可以使用自定义警报功能捕获它。但问题是在这种情况下你的自定义警报功能不会被调用。看起来浏览器正在调用另一个警报函数来将字符串放在那里。如何覆盖该警报功能?

1 个答案:

答案 0 :(得分:1)

根据MSDN

  

备注将字符串赋值给returnValue属性时   window.event,会出现一个对话框,为用户提供留下的选项   在当前文档上并保留分配给它的字符串。   对话框中显示的默认语句"您确定吗?   你想离开这个页面吗? ...按OK继续,或   取消保留在当前页面上。",无法删除或更改。

这不是警报,它是浏览器提供的确认框,我们无法改变它。请找到链接https://msdn.microsoft.com/en-us/library/ms536907(VS.85).aspx

相关问题