簡體   English   中英

當我處於onbeforeunload事件時,如何防止瀏覽器選項卡/窗口關閉?

[英]How to prevent browser tab/window close when I'm in onbeforeunload event?

我想顯示一個自定義您確定要離開此頁面嗎? window.onbeforeunload事件中的對話框(在ExtJs中)。 我熟悉這樣的事實,如果我從該方法返回一個字符串,它將顯示一個彈出的“瀏覽器”,上面帶有返回的消息。 但是,我根本不希望常規彈出窗口。

現在,問題在於,一旦window.onbeforeunload函數執行完畢,ExtJs對話框或屏幕上的任何內容都將不再重要,瀏覽器選項卡也將關閉。 我嘗試了stopImmediatePropagationstopPropagation方法,並將cancelBubble屬性設置為true 但是,似乎沒有任何效果。 對不起,我什至不知道他們是否應該工作。

這是代碼:

window.onbeforeunload = function(e){

    Ext.Msg.show({
        title:'Warning',
        msg: 'Are you sure?',
        buttons: Ext.Msg.YESNO,
        icon: Ext.Msg.QUESTION,
        fn: function (btn) {
            if (btn == 'yes') {
                //Close Browser Window
            }
        },
        modal: true
    });

    //A desperate attempt to stop window/tab from closing
    e.stopPropagation();
    e.cancelBubble = true;
    e.stopImmediatePropagation();

    //This brings up default browser pop up
    //return 'Message';
};

抱歉,我無法創建Sencha Fiddle,因為它具有自己的“ 確認導航”對話框。

我想知道是否有可能實現這一目標? 如果是,那怎么辦?

非常感謝。

下面是一個解釋這個沒有選擇創建一個自定義(ExtJS的等)對話

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM