我有一個場景,如果用戶嘗試關閉當前瀏覽器窗口,則應顯示一個確認框。如果他確認關閉窗口,那麼此窗口應該關閉並用不同的URL打開新窗口。如果用戶確認關閉當前窗口,請在當前窗口關閉時打開一個新的瀏覽器窗口
我試過使用下面的代碼,我可以顯示確認框,但我無法弄清楚如何在用戶確認關閉當前窗口時打開新窗口。
var preventUnloadPrompt;
$('a').live('click', function() { preventUnloadPrompt = true; });
$('form').live('submit', function() { preventUnloadPrompt = true; });
$(window).bind("beforeunload", function() {
if (preventUnloadPrompt)
{ return; }
else {
return confirm("quit??");
}
});
任何類型的幫助表示讚賞。 謝謝。
這是不可能 – Esailija 2012-07-28 15:52:53
理論上應該可以使用'window.open',但這不是一個好主意,因爲大多數瀏覽器可能會阻止在'unload'事件中調用'window.open'。你需要做什麼?當然,如果用戶試圖關閉標籤,那麼他們想要離開該網站,而不是打開一個新的標籤......? – ClarkeyBoy 2012-07-28 15:54:21
實際上有一組問題被逐個問到用戶。如果用戶關閉了此窗口,我想在某個不同的頁面上執行代碼,以此來標記此用戶嘗試了一組問題,從而阻止他再次嘗試這個問題。通常情況下,這發生在用戶完成所有問題時。 – 2012-07-28 16:00:31