我正在寫JavaScript,點擊窗口中的關閉按鈕,我應該得到一個確認框。在確認框中,我應該顯示一些消息,應該有取消和繼續按鈕。具有窗口關閉事件的一些功能的自定義確認框
單擊取消時,窗口不應該關閉,但按繼續後,應將窗口重定向到另一個jsp。
有人可以幫我用這段代碼嗎?我嘗試使用自定義確認框,但似乎只返回一個字符串,它不能用於重定向到一個頁面。
我正在寫JavaScript,點擊窗口中的關閉按鈕,我應該得到一個確認框。在確認框中,我應該顯示一些消息,應該有取消和繼續按鈕。具有窗口關閉事件的一些功能的自定義確認框
單擊取消時,窗口不應該關閉,但按繼續後,應將窗口重定向到另一個jsp。
有人可以幫我用這段代碼嗎?我嘗試使用自定義確認框,但似乎只返回一個字符串,它不能用於重定向到一個頁面。
這是不可能的。關閉窗口時,您不能將用戶重定向到其他頁面。這是出於安全原因。
要在關閉窗口時顯示確認框,可以使用onbeforeunload
事件。這將詢問用戶是否希望離開頁面。確認框由瀏覽器呈現,您可以自定義的是文本。
$(window).bind('beforeunload', function(){
return 'Are you sure you want to leave?';
});
當用戶離開頁面,則可以使用onunload
事件,但同樣,你不能對它們進行重定向(你可以做一個AJAX調用,但你不能將瀏覽器重定向)。
$(window).bind('unload', function(){
console.log('bye'); // Some browsers may block this.
// Chrome blocks alerts in this event.
});
感謝...我已經試圖把該消息,這不是一個問題,但我需要繼續按鈕在確認框中將其重定向到另一個jsp頁面...是否有可能?如果有,請告訴我如何? – 2012-02-23 15:27:20
@VamsiVaranasi:不,那是不可能的。 – 2012-02-23 15:29:26
你可以建議任何其他方式,以便我可以得到一個對話框,當我按下關閉窗口按鈕。並且該對話框有兩個按鈕,我可以用來重定向用戶點擊繼續到另一個jsp。 – 2012-02-23 15:34:48
檢查這個例子中,它可以幫助你走出
function setConfirmUnload(on){
window.onbeforeunload = (on) ? unloadMessage : null;
}
function unloadMessage(){
return "Are you sure you want to leave this page";
}
setConfirmUnload(true)
啓用確認或假,如果你想允許他們關閉屏幕而不發出警告(如果你有一個關閉按鈕實例)。
你也可以試試這個(鏈接:http://api.jquery.com/unload/)
$(window).unload(function(){
alert("Bye now!");
});
注意:Chrome(可能還有其他瀏覽器)在'onunload'事件中阻止'alert'。 – 2012-02-23 15:22:37
您需要綁定一個處理程序onbeforeunload事件,因爲沒有你想要將有可能與onunload事件(的功能實在是太晚了)。
var myFunction = function() {
return "Are you sure you want to leave the page?";
};
window.onbeforeunload = myFunction;
據我所知,是沒有辦法的確認框是由瀏覽器處理,以應對用戶的輸入。
如何展示你迄今爲止所做的事情。我們無法修復我們看不到的代碼。的 – 2012-02-23 15:15:28
可能重複[跨瀏覽onbeforeunload?](http://stackoverflow.com/questions/7389554/crossbrowser-onbeforeunload) – Aelios 2014-05-13 08:22:43