2011-01-06 179 views
6

我有一个onbeforeunload事件工作,弹出一个对话框警告用户关于他们离开时窗体未保存更改的用户。自定义onbeforeunload对话框

window.onbeforeunload = function() { 
    return 'You have unsaved changes.'; 
}; 

如何定制显示的对话框,以便更方便用户使用。现在,它是相当笨拙:

“你确定要离开该页面

您有未保存的更改

按OK客场继续或取消停留在当前页面?。 “

我注意到堆栈溢出有一个更清洁:“你已经开始编写或编辑一篇文章”,并按钮说“留在这个页面上”,“离开此页”,而不是一个通用的“取消”和“确定”。我怎样才能做到这一点?

我正在使用jQuery,如果这是解决方案的必要条件。

回答

5

浏览器根本不让您自定义此框。它在SO上看起来不同的唯一原因是你访问它时使用了不同的浏览器。 Google Chrome使用标记为“保留在此页面上”和“离开此页面”的按钮。根据您发布的示例文本,看起来您使用Internet Explorer测试了您的onbeforeunload处理程序。

+1

啊,你说得对。我很习惯将Chrome浏览器放在一台显示器和另一台Firefox上,我完全错过了这一点。在这一点上还有一点指向Chrome。 – keithjgrant 2011-01-06 17:22:33