【问题标题】:Cordova 2.3.0 Open links in Safari on iOSCordova 2.3.0 在 iOS 上的 Safari 中打开链接
【发布时间】:2013-02-25 12:51:47
【问题描述】:

我知道这已经被问了很多,但我尝试了几乎所有我能在这里找到的东西,但没有任何帮助。 我想在本机 iOS 浏览器中打开带有“外部”类的链接,但我无法管理它。 这是我尝试过的:

$('.external').live('click', function(event) {  
    event.preventDefault();                      
    var url = $(this).attr('href');             
    loadURL(url);                               
})   

function loadURL(url){
    var ref = window.open(url, '_system');
}

在 phonegap 文档中,它现在应该在系统 webbrowser 中打开链接,但它始终使用 InAppBrowser,无论链接目标如何。 我还在 config.xml 中将“OpenAllWhitelistURLsInWebView”设置为 false。没有变化。

【问题讨论】:

    标签: ios cordova jquery-mobile


    【解决方案1】:

    您能否再次检查您的点击处理程序是否实际被调用?如果您将附加事件处理程序的代码放在错误的位置(即在 onDeviceReady() 中,则不会调用单击处理程序)-> 链接将始终在应用程序内部打开。我也在使用 jquery ".on",因为 ".live" 在 jquery 1.9 中已被删除;我用于测试的。

    我刚刚在 Cordova 2.4.0 上测试了以下代码,它可以工作。以下是一些重要的代码摘录:

    HTML 部分:

      <a class=".external" href="http://www.google.com">Go to external page</a>
    

    JAVASCRIPT 部分:

        function loadURL(url){
            var ref = window.open(url, '_system');
        }
    
        $(function(){
    
          $('.external').on('click', function(event) {
             event.preventDefault();
             var url = $(this).attr('href');
             loadURL(url);
          });
    
        });
    

    【讨论】:

    • 嗯,不,这根本没有帮助,因为正如我在开始帖子中所写的,我还尝试将 OpenAllWhitelistURLsInWebView 设置为 false。但它不起作用。还是谢谢。
    • 我明白了。我仍在使用 Cordova 1.9;这就是为什么它对我有用。我刚刚查看了 config.xml @ docs.phonegap.com/en/2.4.0/… 的可用属性,看起来 OpenAllWhitelistURLsInWebView 不再是一个选项......
    • 嗯,没错。我想这是因为 InAppBrowserthing,它是自 2.3.0 以来的新功能:docs.phonegap.com/en/2.3.0/…
    • 我检查过了,你用“window.open(url, '_system');”做的一切都是正确的。我想知道这是否是 phonegap 2.3 中的错误。您是否尝试过升级到 phonegap 2.4;只是为了检查它是否在那里工作?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-05
    • 2018-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多