【问题标题】:Open url in another window after Ext.Msg.confirm在 Ext.Msg.confirm 之后在另一个窗口中打开 url
【发布时间】:2012-04-26 14:57:44
【问题描述】:
        floTrackBtn: {
            tap:            
            function() {
                window.open('http://www.flotrack.org/'); //WORKS
                Ext.Msg.confirm("", "Are you sure you want to navigate to Flotrack?", 
                    function(answer){
                        if (answer == 'yes'){
                            window.open('http://www.flotrack.org/'); //DOES NOT WORK
                        }                           
                    });
            }
        }   

第一个 window.open 有效,但在确认消息框内时无效。任何帮助都会很棒。谢谢!

【问题讨论】:

  • 它到底是怎么不工作的?你能在你的函数中添加日志,看看你到底得到了什么答案吗?
  • 你能在你的函数中添加日志,看看你在answer中得到了什么吗?该函数是否被调用?
  • 是的。推送是时包含“是”,推送否时包含“否”。
  • 只是出于好奇 - 尝试在 Safari 设置中禁用“弹出窗口阻止”。看看它是否改变了什么

标签: extjs confirmation


【解决方案1】:

我尝试在 Chrome 中运行您的代码。代码绝对正确,而且运行良好。

当您第一次运行此代码时,您的 chrome 浏览器会阻止弹出窗口,因此您需要选择“Always allow pop-up from this page”。

当您选择该选项时,您将获得您的 o/p。

 ...
 ...
 {
    xtype:'button',
    text:'CLick me',
    centered:true,
    listeners : {
         tap: function() {
            window.open('http://www.flotrack.org/'); //WORKS
            Ext.Msg.confirm("", "Are you sure you want to navigate to Flotrack?", 
                               function(answer){
                                     if (answer == 'yes'){
                                        window.open('http://www.flotrack.org/'); // THIS ALSO WORKS FINE !!
                                     }                           
                            });
                        }
                    }
                }
 ...
 ...

示例 o/p :-

当我选择是选项时,它会打开一个带有给定 URL 的弹出窗口。

【讨论】:

  • 你是对的,因为弹出窗口阻止程序,它不起作用,但我如何让它在移动浏览器上工作?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-17
相关资源
最近更新 更多