我有这个简单的功能,可以防止用户意外关闭浏览器页面(在我的情况下是chrome)提示确认消息。
window.onbeforeunload = function () {
return "Are you sure you want to leave this page?";
};
一切正常,但我发现了一些限制:
这种行为在经典的asp网络应用程序(网页)中特别烦人,它将数据从数据库加载到网格视图中,因为每次加载数据时,回发都会附加,如果关闭选项卡,则不会显示确认消息。 (我知道你可以使用UpdatePanel来避免回发,但它不是我正在寻找的解决方案)
我试图在页面加载时生成点击DOM的某个元素:
$('#someID').click();
但没有奏效。
有什么想法吗?
答案 0 :(得分:0)
根据https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onbeforeunload:
您可以而且应该通过
window.addEventListener()
处理此事件 和beforeunload
事件。那里有更多文档。
linked文章继续陈述:
基于WebKit的浏览器不遵循对话框的规范。一个 几乎跨浏览器的工作示例将接近以下内容:
window.addEventListener("beforeunload", function (e) { var confirmationMessage = "\o/"; e.returnValue = confirmationMessage; // Gecko, Trident, Chrome 34+ return confirmationMessage; // Gecko, WebKit, Chrome <34 });
答案 1 :(得分:0)
尝试使用$('#someID')。focus()代替$('#someID')。click()。
$(document).ready(function () {
$('#someID').focus();
});