我正在處理一個Ionic/Cordova應用程序,我在其中加載包含外部鏈接的提要和新聞。我需要在應用程序之外加載這些外部鏈接,而不是在InAppBrowser中,但在手機瀏覽器中。加載外部Ionic /科爾多瓦應用程序的外部鏈接
是否有可能將此作爲所有鏈接的默認行爲?
我正在處理一個Ionic/Cordova應用程序,我在其中加載包含外部鏈接的提要和新聞。我需要在應用程序之外加載這些外部鏈接,而不是在InAppBrowser中,但在手機瀏覽器中。加載外部Ionic /科爾多瓦應用程序的外部鏈接
是否有可能將此作爲所有鏈接的默認行爲?
對於外部鏈接,您必須使用inAppbrowser插件。包含在手機瀏覽器中打開的插件後,您需要使用該插件。使用代碼
var ref = window.open('http://apache.org', '_system', 'location=yes');
/*
_self: Opens in the Cordova WebView if the URL is in the white list, otherwise it opens in the InAppBrowser.
_blank: Opens in the InAppBrowser.
_system: Opens in the system's web browser.
*/
謝謝,但是我的鏈接已嵌入到應用中加載的Feed中,我需要('http://apache.org','_system','location = yes');一個過濾器或其他東西來轉換window.open中的每個鏈接。 – 2015-04-03 12:51:23
我有一個問題,這不起作用 - 這是因爲我已經刪除了「cordova.js」在瀏覽器中的白色測試:我....不要做同樣的錯誤傢伙:) – Thylle 2017-01-25 10:21:57
您有以下插件
> ionic plugin add cordova-plugin-inappbrowser
安裝內部的index.html
<div class="list">
<a class="item" href="#" onclick="window.open('http://google.com', '_system', 'location=yes'); return false;">
Open Browser
</a>
</div>
有關此插件訪問plugin page更多信息。
要使用相應的系統應用程序打開URL,您需要whitelist plugin。如果您的項目基於腳手架演示程序,則應該已經安裝。如果沒有(或僅僅是爲了保證):
ionic plugin add cordova-plugin-whitelist
一旦插件安裝後,你將不得不指定intend你想從你的應用程序中打開。在你的config.xml中,添加:
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
...
鑑於上述規則,所有的URI與指定協議的一個聲明(HTTP,HTTPS,電話,短信,郵寄地址,...)將使用相應的開放系統應用。當然,通過用實際值替換*
通配符可以更具體。
有關其他詳細信息,請參閱this article。
謝謝,這是完全是我需要用系統瀏覽器打開外部URL而無需額外的插件。 – keupsonite 2016-06-27 13:13:43
截至今天,關於這個話題的答案可能與這個答案一樣簡單。 – kumar 2016-11-18 11:55:00
你到目前爲止嘗試過什麼?你能編輯你的問題並提供一些代碼嗎? – 2015-04-03 11:01:57
我通常使用window.open和targer系統打開外部鏈接,在這種情況下,我需要在Feed中嵌入的每個鏈接上動態加載 – 2015-04-03 12:53:46