Вопрос по html5, iphone – Ошибка: отклонение белого списка в Phonegap

54

Я новичок в разработке мобильных приложений. Я использую Phonegap / Cordova для создания кроссплатформенного приложения. Мой код хорошо работает на Android, но при переносе его на iPhone он показывает ошибку:

[143:2003] ERROR whitelist rejection: url="abc"

Теперь я могу преодолеть эту проблему?

Используйте пудин из белого списка кордовы. Работал для меня на обеих платформах Android и IOS без каких-либо других упомянутых изменений.github.com/apache/cordova-plugin-whitelist Zeeshan Cornelius

Ваш Ответ

7   ответов
1

Даже у меня та же проблема ... Я исправил ее следующим образом ... В cordova.plist - & gt; в меню массива ExternalHosts добавьте элемент как * или., Так что он позволяет все внешние ссылки ... если вы должны упомянуть один за другим, упомяните это как.facebook., *. Google. * и т. д.

55

Notice: This answer only applies for PhoneGap version 1.x and below. From version 2.x onwards, whitelist configuration is done via cordova.xml.

Вы должны добавить разрешенные URL-адреса в массив ExternalHosts PhoneGap.plist (или Cordova.plist).

Например, если вы хотите разрешить доступ к этому URLhttp://www.myhost.com/path/file, затем добавьтеwww.myhost.com как новая запись вExternalHosts массив.

Если вы хотите разрешить доступ к контенту во всех поддоменах Google (например,maps.google.com, mails.google.com), можете добавить*.google.com как новая запись вExternalHosts массив.

Я не уверен, почему вы получаете "abc" в ссылке, правда. У вас есть "abc"? как ссылка на что-нибудь? Это фрагмент URI?

Заголовки: Cordova.plist был заменен на config.xml в последних версиях PhoneGap
Любое ключевое имя в листе подойдет? или это какое-то конкретное имя ключа должно быть дано.?
8

Вы можете добавить следующий код в файл Cordova.plist:

<key>ExternalHosts</key>
       <array>
               <string>*.facebook.com</string>
       </array>

С*.facebook.com в качестве имени домена вы можете использовать два разных поддоменов.

18

В PhoneGap 3.0 вам нужно отредактироватьwww/config.xmlи добавить / изменить<access> теги. Например, если вы хотите разрешить все, измените тег на:

<access origin="*" />
3

Вам потребуется белый список доменов, чтобы вы могли получить доступ к внешним доменам, таким какhttp://google.com.

В iOS (Cordova & gt; 3.0.0) правила белого списка находятся вAppName/config.xml и объявлено с элементом<access origin="..." />

Вы также можете использовать подстановочные знаки для объявления доменов. Например, чтобы разрешить доступ ко всем поддоменам и TLD (.com, .net и т. Д.) Google, используйте*.google.*

Ссылка:Руководство по созданию белого списка доменов

Спасибо Дина, последовала твоему совету.
Документация не совсем актуальна, на данный момент. Ответы Шокинау и Ивана верны.
32

В PhoneGap 3.0 вам нужно отредактировать файл config.xml в папке Project (примечание: не в www / config.xml)

<access origin="*" />
Папка проекта правильная, но эта папка называется www, если вы создаете приложение с интерфейсом командной строки (что, конечно, вам не нужно делать).
0

Это связано с тем, что PhoneGap не будет принимать внешние URL-адреса. Для PhoneGap более старых версий ниже2.x нам нужно установить URL вcordova.plist как это.

например:*.google.co.in(вы можете поставить свой URL после *. this) иOpenAllWhitelistURLsInWebView--- к ---YES.

Похожие вопросы