2013-02-25 57 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

相關問題