2015-11-11 20 views
0

我想顯示自定義您確定要離開此頁面嗎?對話框(在ExtJs中)在window.onbeforeunload事件中。我很熟悉如果我從這個方法返回一個字符串,它會顯示一個「瀏覽器」,並彈出返回的消息;不過,我不想經常彈出。如何防止當我在onbeforeunload事件時瀏覽器選項卡/窗口關閉?

現在,問題是,只要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'; 
}; 

我很抱歉,我將無法創建煎茶小提琴,因爲它有它自己的確認導航對話框。

我想知道是否有可能實現這個?如果是,那麼如何?

非常感謝。

回答

0

這是一個explanation關於這個沒有選擇做一個自定義(extjs等)對話框

相關問題