2013-02-25 74 views
1

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

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

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

随着PhoneGap的文档,它现在应该打开网页浏览器系统的链接,但它总是使用InAppBrowser,没有链接的目标的问题。 我还在config.xml中将“OpenAllWhitelistURLsInWebView”设置为false。不用找了。

回答

1

你可以仔细检查一下,你的点击处理程序实际上是否被调用?如果您将附加事件处理程序的代码放在错误的位置(即在onDeviceReady()中,则不会调用click处理程序) - >链接将始终在应用程序内部打开。另外我使用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); 
     }); 

    }); 
+0

这仅适用于Android。 – movsky 2013-02-25 13:09:41

+0

我刚刚更新了我的答案,希望它有帮助。 – Aki 2013-02-25 13:39:50

+0

嗯,不,它根本没有帮助,因为正如我在我的startpost中所写的,我也尝试将OpenAllWhitelistURLsInWebView设置为false。但它不起作用。不管怎么说,还是要谢谢你。 – movsky 2013-02-25 14:08:25

相关问题