55

当我尝试使用未保存的更改关闭我的 Google 文档选项卡时,这就是我在浏览器中得到的 (FF 3.5)。

您确定要离开此页面吗?

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

按 OK 继续,或按 Cancel 停留在当前页面。

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

4

2 回答 2

86

通过浏览器。它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 来取消它

window.onbeforeunload = null;

// OR

window.removeEventListener('beforeunload', unloadListener);
于 2009-08-17T17:19:59.130 回答
-14

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

于 2009-08-17T17:15:12.540 回答