2013-10-17 83 views
4

我使用phonegap build並將我的版本設置爲3.0.0。我在我的頁面上鍊接了我想在iOS上的safari中打開的鏈接。在我的配置文件中,我將我的訪問權限設置爲「*」,因此它允許所有網址(這對我的應用的其他部分是必需的)。我也有我的配置文件中的inappbrowser插件,因爲我被告知這可能是必要的。如何設置在safari中打開的鏈接Phonegap Build 3.0.0

<access origin="*" /> 
<gap:plugin name="org.apache.cordova.core.inappbrowser" /> 

我目前使用下面的代碼來設置我的「一個」標籤:

$('#myATagID').on('click', function() { 
      window.open(encodeURI('http://apache.org'), '_system', 'location=no'); 
     }); 

我在得到這個網址在Safari中我的iPhone上打開嘗試了許多不同的嘗試,但沒有已成功與phonegap生成3.0.0此代碼在android上工作。

回答

1

看到我的回答在這個問題上找到here。完整的演練你應該找到相關的。

+4

不再在Phonegap 3中工作。文檔建議window.open與InApp瀏覽器完全綁定,並且永遠不會提及跳出webview並進入新應用程序(Safari)。 –

0

我想你需要刪除encodeURI(),因爲這可能會編碼//並使URI格式不正確。

+0

encodeURI不會編碼//。 [見這裏](http://www.w3schools.com/jsref/jsref_encodeuri.asp)。 – Keith

1

你不應該只需要在系統瀏覽器中打開插件。我使用以下JavaScript函數來執行相同的任務。

的JavaScript:

// window.open wasn't opening a link in the system browser on iOS, so we have to use this function (requires phonegap.js) 
function redirectToSystemBrowser(url) { 
    // Wait for Cordova to load 
    document.addEventListener('deviceready', onDeviceReady, false); 
    // Cordova is ready 
    function onDeviceReady() { 
     // open URL in default web browser 
     var ref = window.open(encodeURI(url), '_system', 'location=yes'); 
    } 
} 

然後,我只需調用與HTML該功能。

HTML:

<head> 
    <!-- required for the redirectToSystemBrowser() function --> 
    <script src="phonegap.js"></script> 
</head> 

<body> 
    <ul> 
     <li onclick="redirectToSystemBrowser('http://www.domain.ext');">link to something</li> 
    </ul> 
</body> 

而且,我也沒有指定任何<access>設置(我只是評論大家都出去了)。

+0

哦,Dom的答案是一個更加完整和翔實的答案(我加上它,因此)。呵呵呵... – doubleJ

0

嘗試:

window.open('http://google.com', '_system', 'location=no'); 

很適合我。

相關問題