最近作成するまで、私のCordovaアプリはWebサイトのiframeをうまく埋め込むことができました。今、おそらく忘れていたアップデートの後、アプリをビルドするとiOSでiframeが空白になりますが、Androidでは動作します。
次の設定をconfig.xmlに追加しました。
<access Origin="*"/> <access Origin="*.pushwoosh.com" /> <access Origin="*.hoby.org" /> <allow-navigation href="*" /> <allow-intent href="*" />
次のコンテンツセキュリティポリシーと同様に:
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'">
基本的にすべてを許可する必要があります。 cordova 6.1.0およびIonic 1.7.14を使用して、cordova-whitelistプラグインを追加しました
編集:実際にはiOSエミュレーターで動作しますが、デバイスで実行すると動作しません。
編集2:モバイルサファリの問題のようです。ネットワーク経由でファイルを表示していますが、Cordovaの外でもファイルが正しく読み込まれていません。少なくとも数日前にはこれが機能していたことを確認できます。
@フィル、whitelist
プラグインのアプリケーションは閉じていますが、index.htmlにjavascriptがあるために失敗する可能性があります。 CSP
は多くの開発者を止めました。最も簡単なことは、すべてのJavascriptとCSSを独自の個別のファイルに移動することです。
それとは別に、ここに広く適用されているソリューションがあります:
補足説明として、 Cordova Tools 5.0. (2015年4月21日)以降、whitelist
システムが必要です。 Phonegap Buildの場合、 cli-5.1.1
(2015年6月16日)以降
これをconfig.xml
に追加します
<plugin name="cordova-plugin-whitelist" source="npm" spec="1.1.0" />
<allow-navigation href="*" />
<allow-intent href="*" />
<access Origin="*" /> <!-- Required for iOS9 -->
APP ISに注意してください。 IT ISアプリを保護するのはあなた次第です。
次をindex.html
に追加します
<meta http-equiv="Content-Security-Policy"
content="default-src *;
style-src * 'self' 'unsafe-inline' 'unsafe-eval';
script-src * 'self' 'unsafe-inline' 'unsafe-eval';">
APP ISに注意してください。 IT ISアプリを保護するのはあなた次第です。
これホワイトリストワークシートが役立ちます。
ホワイトリストシステムにCordova/Phonegapを適用する方法