[英]window.onbeforeunload not working properly after postback/page load
我有這個簡單的功能,可以防止用戶意外關閉瀏覽器頁面(在我的情況下為chrome),提示確認消息。
window.onbeforeunload = function () {
return "Are you sure you want to leave this page?";
};
一切正常,但我發現了一些限制:
這種行為在經典的ASP.NET應用程序(網頁)中特別令人討厭,因為該應用程序將DB中的數據加載到gridview中,因為每次加載數據后都會附加回發,並且如果關閉該選項卡,則不會出現確認消息。 (我知道您可以使用UpdatePanels避免回發,但這不是我正在尋找的解決方案)
我試圖在頁面加載時對DOM的某些元素產生點擊:
$('#someID').click();
但是沒有用
有任何想法嗎?
根據https://developer.mozilla.org/zh-CN/docs/Web/API/WindowEventHandlers/onbeforeunload :
您可以並且應該通過
window.addEventListener()
和beforeunload
事件來處理此事件。 那里有更多文檔。
鏈接的文章繼續指出:
基於WebKit的瀏覽器不遵循該對話框的規范。 一個幾乎跨瀏覽器的工作示例將接近以下內容:
window.addEventListener("beforeunload", function (e) { var confirmationMessage = "\\o/"; e.returnValue = confirmationMessage; // Gecko, Trident, Chrome 34+ return confirmationMessage; // Gecko, WebKit, Chrome <34 });
嘗試使用$('#someID')。focus()代替$('#someID')。click()。
$(document).ready(function () {
$('#someID').focus();
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.