【发布时间】:2010-09-24 22:08:19
【问题描述】:
我尝试使用以下代码在关闭浏览器窗口时收到警报:
window.onbeforeunload = confirmExit;
function confirmExit() {
return "You have attempted to leave this page. If you have made any changes to the fields without clicking the Save button, your changes will be lost. Are you sure you want to exit this page?";
}
它有效,但如果页面包含一个超链接,单击该超链接会引发相同的警报。我只需要在关闭浏览器窗口而不是单击超链接时显示警报。
【问题讨论】:
-
投票重新开放。链接的副本不回答问题,但这里的答案可以。
-
FWIW,如果你把这种行为放到我必须使用的任何应用程序中,我会刺伤你的小脚趾。劫持浏览器是解决这个问题的好方法。你不能只使用 AJAX 或其他东西并自动保存它们的状态吗?
-
我不同意格雷厄姆的观点——有时你只需要一个警告/确认。诚然,这可能(并且经常)被试图阻止您离开的网站滥用,但如果使用得当,它会非常受欢迎,例如,如果您忘记发布某些内容。
-
如果你想刷新页面还是会遇到问题,即使你禁用了锚事件。
标签: javascript browser window onbeforeunload