<a target="_blank" data-rel="external" href="http://www.kidzout.com">www.kidzout.com</a>
Привет, эксперты, я использую phonegap 2.9.0, и я использую приведенный выше код, чтобы открыть ссылку в браузере, но он открывает ее в том же приложении ...... как открыть его в браузере Safari?
он открывает веб-сайт в том же приложении, а затем я не могу вернуться в приложение, поэтому мне нужно удалить приложение и установить его снова ...
_blank
во внешнем браузере и_self
в WebView, проверьте мое решение 2015 года для Cordova 5.1.1: stackoverflow.com/a/32227524/82609Ответы:
Как предлагается в аналогичном вопросе , используйте JavaScript для вызова
window.open
сtarget
аргументом, установленным_system
в соответствии с документацией InAppBrowser :Это должно работать, хотя лучшим и более гибким решением было бы перехватить все
click
события ссылок и вызвать ихwindow.open
с аргументами, считываемыми из атрибутов ссылки.Помните, что вы должны установить плагин InAppBrowser, чтобы это работало:
источник
Как было сказано в других сообщениях, у вас есть два разных варианта для разных платформ. Что я делаю:
Как видите, я проверяю платформу устройства и в зависимости от этого использую другой метод. В случае стандартного браузера я оставляю стандартное поведение. Отныне решение будет нормально работать на Android, iOS и в браузере, при этом HTML-страница не будет изменена, поэтому URL-адреса могут быть представлены в виде стандартного якоря.
Для решения требуются плагины InAppBrowser и Device.
источник
$ meteor add cordova:org.apache.cordova.inappbrowser@0.5.4
У меня работает с android и PG 3.0
источник
Есть 2 разных способа открыть URL-адрес в android и iphone.
ДЛЯ IOS используйте следующий код.
а для ОС Android используйте следующий код.
источник
window.open("http://google.com", '_system')
. Вы не должны использоватьnavigator.app.loadUrl
, потому что он не будет работать сmarket://
URL-адресами: в этом случае он просто закроет ваше приложение и откроется в том же окне ... не всегда предпочтительнее.Наконец-то этот пост помог мне на iOS: http://www.excellentwebworld.com/phonegap-open-a-link-in-safari-or-external-browser/ .
При использовании
navigator.app.loadUrl("http://google.com", {openExternal : true});
для Android все в порядке.Через Кордову 3.3.0.
источник
Ни один из этих ответов не является достаточно явным, чтобы внешние ссылки открывались на каждой платформе. В соответствии с inAppBrowser документы :
устанавливать
Перезаписать window.open (необязательно, но рекомендуется для простоты)
Если вы не перезаписываете
window.open
, вы будете использовать встроеннуюwindow.open
функцию и не можете ожидать получения тех же результатов на разных платформах.Используйте его, чтобы открывать ссылки в браузере по умолчанию
Обратите внимание на то, что целью inAppBrowser (именно для этого и предполагается название плагина) является
'_blank'
вместо'_system'
.Без описанных выше шагов мне не удалось получить ссылки для открытия в кроссплатформенном браузере по умолчанию.
Дополнительный кредит
Вот пример (живого) обработчика кликов для ссылок:
источник
Если у вас есть jQuery, вы можете перехватить щелчок по ссылке следующим образом:
Таким образом, вам не нужно изменять ссылки в HTML, что может сэкономить много времени. Я установил это с помощью делегата, поэтому вы видите, что он привязан к объекту документа с тегом «a» в качестве второго аргумента. Таким образом будут обрабатываться все теги «a», независимо от того, когда они добавлены.
Конечно, вам все равно нужно установить плагин InAppBrowser:
источник
Будет работать, но только если у вас установлен плагин inappbrowser. Для установки с помощью терминала перейдите в папку www в вашем проекте и введите:
или
Тогда ваша ссылка откроется в браузере.
источник
phonegap local <command>
УСТАРЕЛА. Команда делегированаphonegap <command>
. Командаphonegap local <command>
скоро будет удалена.cordova plugin add cordova-plugin-inappbrowser
.В Cordova 5.0 и выше плагин InAppBrowser переименован в реестре плагинов Cordova, поэтому вы должны установить его, используя
Затем используйте
источник
Я использую PhoneGap Build (v3.4.0) с упором на iOS, и мне нужно было иметь эту запись в моем config.xml для PhoneGap, чтобы распознать подключаемый модуль InAppBrowser.
После этого использование window.open (url, target) должно работать должным образом, как описано здесь .
источник
m also using PhoneGap Build (v3.5.x) and added the plugin via the config.xml. But what i get is an InAppBrowser without controls an cannot call the safari browser. I
просто использую window.open (). Любой совет?Я также столкнулся с проблемой, что ссылка не открывалась в браузере, вот мое решение с шагами:
1: Установите этот плагин Cordova.
2: добавьте открытую ссылку в HTML, как показано ниже.
3: это наиболее важный шаг, поэтому я столкнулся с множеством проблем: загрузите
cordova.js
файл и вставьте его вwww
папку. Затем сделайте ссылку на это вindex.html
файле.Это решение будет работать как для среды Android, так и для iPhone.
источник
Как это :
источник