导航离开网页时发出警报

时间:2009-08-17 17:13:02

标签: javascript browser google-docs alerts

当我尝试使用未保存的更改关闭我的Google文档标签时,这就是我在浏览器中获得的内容(FF 3.5)。

  

您确定要离开吗?   从这个页面?

     

您有未保存的更改   文献。单击立即取消,然后单击   “保存”以保存它们。单击“立即确定”   放弃它们。

     

按“确定”继续,或“取消”   留在当前页面。

我的问题是这些警报是否是网络应用程序的一部分(例如gdocs)或者是否由浏览器发出?如果是后者,这是怎么做到的?

2 个答案:

答案 0 :(得分:84)

通过浏览器。它是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);

答案 1 :(得分:-13)

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