it-swarm.com.de

Fehler: Whitelist-Ablehnung in Phonegap

Ich bin neu in der mobilen Entwicklung. Ich verwende Phonegap/Cordova, um eine plattformübergreifende App zu erstellen. Mein Code funktioniert gut auf Android, aber wenn ich ihn auf das iPhone portiere, wird ein Fehler angezeigt:

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

Kann ich dieses Problem jetzt überwinden?

54
Neji

Hinweis : Diese Antwort gilt nur für PhoneGap Version 1.x und darunter. Die Whitelist-Konfiguration erfolgt ab Version 2.x über cordova.xml.

Sie müssen zulässige URLs zum ExternalHosts-Array von PhoneGap.plist (oder Cordova.plist) hinzufügen.

Wenn Sie beispielsweise den Zugriff auf diese URL http://www.myhost.com/path/file zulassen möchten, fügen Sie www.myhost.com als neuen Eintrag zum ExternalHosts-Array hinzu.

Wenn Sie den Zugriff auf Inhalte in allen Subdomains von Google zulassen möchten (z. B. maps.google.com, mails.google.com), können Sie *.google.com als neuen Eintrag zu ExternalHosts array hinzufügen.

Ich bin mir nicht sicher, warum Sie im Link "abc" erhalten. Hast du "abc" als Link zu irgendetwas? Ist es ein URI-Fragment?

55
nhahtdh

In PhoneGap 3.0 müssen Sie die Datei config.xml im Projektordner bearbeiten (Hinweis: nicht www/config.xml).

<access Origin="*" />
32
Ivan

In PhoneGap 3.0 müssen Sie www/config.xml bearbeiten und <access>-Tags hinzufügen/bearbeiten. Wenn Sie beispielsweise alles zulassen möchten, ändern Sie das Tag in:

<access Origin="*" />
18
shawkinaw

Sie können diesen folgenden Code in der Datei Cordova.plist hinzufügen:

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

Mit *.facebook.com als Domänennamen können Sie zwei verschiedene Unterdomänen verwenden.

8
Manish Agrawal

Sie müssen eine Domain-Whitelist haben, damit Sie auf externe Domains wie http://google.com zugreifen können.

In iOS (Cordova> 3.0.0) werden die Whitelisting-Regeln in AppName/config.xml gefunden und mit dem Element <access Origin="..." /> deklariert.

Sie können auch Platzhalter verwenden, um Domänen zu deklarieren. Um beispielsweise den Zugriff auf alle Subdomains und TLDs (.com, .net usw.) von Google zuzulassen, verwenden Sie *.google.*.

Referenz: Leitfaden für Whitelist-Domänen

3
wael

Sogar ich habe das gleiche Problem ... Ich habe es auf folgende Weise behoben. Fügen Sie in cordova.plist -> unter ExternalHosts-Array-Menü ein Element als * oder hinzu. . Also erlaubt es alle externen Links ... wenn Sie eins nach dem anderen erwähnen müssen, erwähnen Sie es als .facebook. , *. google. * usw.

1

Dies liegt daran, dass Phonegap keine externen URLs verwendet. Für ältere Phonegap-Versionen unter 2.x müssen wir die URL in cordova.plist wie folgt festlegen.

beispiel: *.google.co.in (Sie können Ihre URL nach *. this setzen) und OpenAllWhitelistURLsInWebView--- zu ---YES.

0
DC9999