我的问题不是如何覆盖警报功能,然后根据需要装饰它。我的问题是当你覆盖这样的警报功能时:
window.alert = function(str){console.log('alert is called: '+ str);}

对于具有onbeforeunload事件的注册处理程序的页面,如下所示:
window.onbeforeunload= function(){return 'bye!';}

答案 0 :(得分:1)
根据MSDN
备注将字符串赋值给returnValue属性时 window.event,会出现一个对话框,为用户提供留下的选项 在当前文档上并保留分配给它的字符串。 对话框中显示的默认语句"您确定吗? 你想离开这个页面吗? ...按OK继续,或 取消保留在当前页面上。",无法删除或更改。
这不是警报,它是浏览器提供的确认框,我们无法改变它。请找到链接https://msdn.microsoft.com/en-us/library/ms536907(VS.85).aspx