2015-11-11 21 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等)对话框

相关问题