从网页导航时发出警报

当我尝试closures我的Google文档选项卡时未保存更改时,这是我在浏览器中获得的(FF 3.5)。

你确定要离开这个页面?

您在此文档中有未保存的更改。 点击立即取消,然后点击“保存”保存。 单击确定现在放弃它们。

按OK继续,或取消保留在当前页面上。

我的问题是这样的警报是否是networking应用程序的一部分(例如gdocs),还是由浏览器发出? 如果是后者,这是如何完成的?

由浏览器。 它是beforeunload事件处理程序,它返回对话框的自定义文本,它只是三个段落的中间部分 – 另外两个段落以及button的文本不能被定制或以其他方式更改。

 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来使其无效

 window.onbeforeunload = null; // OR window.removeEventListener('beforeunload', unloadListener); 

警报是Web应用程序的一部分。 查看源代码并查看javascript。