Javascript 离开网页导航时发出警报
当我试图用未保存的更改关闭我的Google文档选项卡时,这就是我在浏览器中得到的结果(FF 3.5) 您确定要导航离开吗 从这个页面 此文件中有未保存的更改 文件。然后单击“立即取消” “保存”来保存它们。现在单击“确定”以继续 丢弃它们 按“确定”继续,或按“取消”继续 停留在当前页面Javascript 离开网页导航时发出警报,javascript,browser,google-docs,alerts,Javascript,Browser,Google Docs,Alerts,当我试图用未保存的更改关闭我的Google文档选项卡时,这就是我在浏览器中得到的结果(FF 3.5) 您确定要导航离开吗 从这个页面 此文件中有未保存的更改 文件。然后单击“立即取消” “保存”来保存它们。现在单击“确定”以继续 丢弃它们 按“确定”继续,或按“取消”继续 停留在当前页面 我的问题是,这些警报是web应用程序(例如gdocs)的一部分,还是由浏览器发出的?如果是后者,如何做到这一点 警报是web应用程序的一部分。通过浏览器查看源代码并查看javascript。。是beforeun
我的问题是,这些警报是web应用程序(例如gdocs)的一部分,还是由浏览器发出的?如果是后者,如何做到这一点 警报是web应用程序的一部分。通过浏览器查看源代码并查看javascript。。是
beforeunload
事件处理程序返回对话框的自定义文本,该文本仅位于三个段落的中间-其他两个段落以及按钮的文本不能自定义或更改
window.onbeforeunload = function(){ return 'Testing...' }
// OR
var unloadListener = function(){ return 'Testing...' };
window.addEventListener('beforeunload', unloadListener);
将生成一个对话框,其中
Are you sure you want to navigate away from this page?
Testing...
Press OK to continue, or Cancel to stay on the current page.
通过将处理程序设置为null,可以将其置为null
window.onbeforeunload = null;
// OR
window.removeEventListener('beforeunload', unloadListener);
我至少在谷歌文档源代码中看不到它。它可能隐藏在某个模糊的JavaScript文件中。谷歌使用的脚本使其JavaScript文件基本上不可读。在使用警报之前,必须首先识别事件。“在卸货之前”谢谢彼得。我已经研究了现代浏览器在onbeforeunload事件中的行为,并发布了我的发现。请添加您知道的任何其他复杂细节。嗨,Peter,我们是否无法利用该事件生成一个自定义警报,该警报提供与本机窗口警报相同的功能?据我所知,不。@PeterBailey我建议您更新您的答案,并使用更现代的
addEventListener
而不是onbeforeuload
。此外,事件名称是beforeunload
,而不是onbeforeunload
@MichałPerłakowski,似乎需要另一个答案(根据您的建议)。