Wie kann ich einer Cordova 6.1-App erlauben, einen Iframe von einer Website in iOS einzubetten?

7

Bis ich neulich gebaut habe, war meine cordova App in der Lage, einen iframe einer Website gut einzubetten; jetzt, vermutlich nach einem update, das ich vergaß, baute ich die App-Ergebnisse in den Iframe leer auf iOS aber funktioniert in Android.

Ich habe die folgenden Einstellungen zu config.xml hinzugefügt:

<access origin="*"/> <access origin="*.pushwoosh.com" /> <access origin="*.hoby.org" /> <allow-navigation href="*" /> <allow-intent href="*" />

Ebenso wie die folgende Inhaltssicherheitsrichtlinie:

<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'">

Was grundsätzlich alles erlauben sollte. Ich habe das cordova-whitelist-Plugin hinzugefügt, mit cordova 6.1.0 und Ionic 1.7.14

Bearbeiten: Es funktioniert tatsächlich auf iOS-Emulator, aber nicht, wenn ich es auf dem Gerät ausführen.

Edit 2: Es scheint, als wäre es ein Problem mit der mobilen Safari; Ich sehe die Dateien über mein Netzwerk und sogar außerhalb von Cordova werden sie nicht richtig geladen. Ich kann jedoch bestätigen, dass das zumindest vor ein paar Tagen funktionierte.

    
Phil Barresi 30.03.2016, 19:39
quelle

1 Antwort

19

@Phil,
Ihre Anwendung des whitelist -Plugins ist in der Nähe, scheitert aber wahrscheinlich, weil Sie Javascript in Ihrer index.html haben. CSP hat viele Entwickler gestoppt. Am einfachsten ist es, Javascript und CSS in ihre eigenen Dateien zu verschieben.

Kurz gesagt, hier ist eine weit verbreitete Lösung:

Als Randnotiz wird das whitelist System ab Cordova Tools 5.0 benötigt .0 (21. April 2015). Für Phonegap Build bedeutet das seit cli-5.1.1 (16 Jun 2015)

Fügen Sie dies Ihrem config.xml

hinzu %Vor%

HINWEIS: DEINE APP IST JETZT VERSTECKT. Es ist an Ihnen, Ihre APP zu sichern.
Fügen Sie Ihrem index.html

Folgendes hinzu: %Vor%

HINWEIS: DEINE APP IST JETZT VERSTECKT. Es ist an Ihnen, Ihre APP zu sichern.
Dieses Whitelist Arbeitsblatt sollte helfen.
WIE man Cordova / Phonegap auf das Whitelist-System anwendet

    
JesseMonroy650 06.04.2016, 02:44
quelle