私は次のjsファイルをローカルに持っています。コンテンツセキュリティポリシー(CSP)違反エラーの原因となるローカルjquery.jsファイル
<script type="text/javascript" src="js/jquery-1.11.1.min.js"></script>
Rippleで自分のCordova Phonegapアプリを実行すると、次のエラーが発生します。
jquery.mobile-1.4.5.min.js:3 Refused to load the image 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==' because it violates the following Content Security Policy directive: "default-src * 'unsafe-eval' 'unsafe-inline'". Note that 'img-src' was not explicitly set, so 'default-src' is used as a fallback.
私はhtmlでも以下のメタデータを持っています。
<meta http-equiv="Content-Security-Policy" content="default-src * 'unsafe-eval' 'unsafe-inline'">
(CSP)違反エラーが発生しないようにするにはどうすればよいですか?すべての修正?
編集: ajax.googleapis urlをメタに追加すると、ほとんどのCSPエラーが取り除かれました。
<meta http-equiv="Content-Security-Policy" content="default-src * 'unsafe-eval' https://ajax.googleapis.com/ 'unsafe-inline'">
しかし、私はまだ以下のようなものがあります。 http://localhost:3000/#&ui-state=dialog
しかし、私はそれがエラーの原因リップルエミュレータであることを推測するので、それは大したことではないと考えている。
Refused to load the font 'data:font/woff;base64,d09GRgABAAAAAI3gABIAAAABRWQAAQABAAAAAAAAAAAAAAAAAAAAA…IwnaGGIYHBlUELLMKwH6htK8MUhmKGIAYjqCImVEUgs1mBOtm1gRYpuNZmSrgAALqcEVgAAAA=' because it violates the following Content Security Policy directive: "default-src * 'unsafe-eval' https://ajax.googleapis.com/ 'unsafe-inline'". Note that 'font-src' was not explicitly set, so 'default-src' is used as a fallback.
エラーの原因です。
A. CSP仕様で文法に従ってさ
。最新の(安定した)リリースは '2.2.3'で、あなたは' 1.11.1'に固執しています。2.2.3との違いは、IE 6,7,8のサポートを失うことだけです。そしてBあなたは本当にlibs(jQueryのようなもの)を彼らの充当されたCDNから呼び出すべきです。 ''であり、ローカルではホストしません。実際には、ほとんどのユーザーがすでにlibをキャッシュしている可能性が高いため、CDNを参照するよりも、ローカルにホストをホスティングする方が性能が大幅に向上します。 – Marcus
マーカス、アドバイスありがとう。私はそれをしますが、私はあなたを正しく理解するための1つの質問です。彼らのCDNを参照しても、アプリケーションがオフラインまたはオンラインで動作する方法には影響しません。 – shamaleyte
あなたのアプリが "* offline *"(インターネットに接続されていないなど)で利用できるようにするには、CDN経由でライブラリを参照する必要があります。 。その偽りの下で、オフラインで使用するためにローカルにライブラリを保存するのが理にかなっています。 – Marcus