[英]Open a custom dialog on browser window/tab close
我試圖在瀏覽器窗口/標簽頁關閉時添加“確定/取消”的調查確認框。 我需要在“確定”按鈕單擊時將用戶重定向到調查鏈接。
嘗試使用以下代碼實現相同的功能。
var leave_message = 'Wait! Would you like to respond to a quick Survey?'
function bye(e) {
if (!e) e = window.event;
e.cancelBubble = true;
if (e.stopPropagation) {
e.stopPropagation();
e.preventDefault();
}
e.returnValue = leave_message;
if (confirm(leave_message)) {
window.open("www.surveylink.com");
}
}
window.onbeforeunload = bye;
請建議上面的代碼不起作用。
使用此選項可以強制您的用戶訪問您的站點,這是您可以做的。
$(window).bind('beforeunload', function() {
window.open("http://www.surveylink.com");
return 'Do you really want to leave?' ;
});
onbeforeunload
不是常規事件。 如果在onbeforeunload
事件處理程序中返回字符串,則會投射一個對話框,要求您停留在頁面上。 如果用戶單擊該對話框中的“停留在頁面上”按鈕,則該頁面的卸載將中止。 (有關更多詳細信息,例如https://developer.mozilla.org/en-US/docs/Web/API/Window.onbeforeunload )
解決該問題的方法是設置一個變量,該變量指示頁面開始卸載,然后定期檢查該變量以確定卸載是否中止:
(function () {
var triedToUnload = false;
window.onbeforeunload = function (e) {
triedToUnload = true;
return "Wait! Would you like to respond to a quick Survey?";
};
window.setInterval(function () {
if (triedToUnload) {
window.open("www.surveylink.com");
}
}, 500);
}());
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.