Подтвердить что ты не робот

Cordova 3.0 - Открыть ссылку во внешнем браузере в iOS

Как вы открываете ссылки в собственном браузере устройств при использовании Cordova 3.0 на iOS?

Люди предложили использовать window.open( url, "_system" ), но это не работает в Cordova 3.0.

Моя попытка

if( navigator.app ) // Android
    navigator.app.loadUrl( url, {openExternal:true} )
else // iOS and others
    window.open( url, "_system" ) // opens in the app, not in safari

Кто-нибудь знает о решении, которое работает с Cordova 3.0?
Благодаря

4b9b3361

Ответ 1

ПРИМЕЧАНИЕ: для работы window.open('somelink', '_system') вам нужен плагин на уровне устройства - inAppBrowser. Вот инструкции по установке, начиная с версии Cordova 3.0

Из Документов для версии 3.0:

Начиная с версии 3.0, Cordova реализует API-интерфейсы уровня устройства в качестве плагинов. Используйте команду плагина CLI, описанную в интерфейсе командной строки, для добавления или удаления этой функции для проекта:

$ cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-inappbrowser.git
$ cordova plugin rm org.apache.cordova.core.inappbrowser

Эти команды применяются ко всем целевым платформам, но изменяют настройки конфигурации конкретной платформы, описанные ниже:

iOS (в config.xml)

<feature name="InAppBrowser">
    <param name="ios-package" value="CDVInAppBrowser" />
</feature>

Я просто тестировал это, и он работает.

Ответ 2

установить плагин InAppBrowser:

$ cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-inappbrowser.git
$ cordova plugin rm org.apache.cordova.core.inappbrowser

и выполните плагин в файле .js:

//exec(successCallback, errorCallback, pluginName, pluginMethod, params)
cordova.exec(null, null, "InAppBrowser", "open", [url, "_system"]);