0

既存の Web サイト/アプリを chrome パッケージ アプリにラップして遊んでいます。

d3.csv、d3.jsonなどを介して非同期にデータファイルを読み込むd3.jsアプリです。

d3 コードは、パッケージ化されたアプリの (変更不可能な?) CSP で許可されていないことを行っているようです。私が使用している他のライブラリのいくつかもそうするかもしれないと思います。したがって、これを許可するには、ページ/アプリを「サンドボックス化」する必要があります。ただし、これは、データ ファイルを取得するために非同期呼び出しを行うことができないことを意味します。jquery async 呼び出しを同期的に行うこともできません。

データをJavaScript変数に直接設定するJavaScriptメソッドでデータファイルをラップするなど、Chromeアプリに固有の変更を加える以外に、他の解決策は見当たりません。

これに対処するためのより良い方法を私に知らせてください:)

参考までに - ページをサンドボックス化して実行しない場合のエラーは次のとおりです。

「unsafe-eval」は次のコンテンツ セキュリティ ポリシー ディレクティブで許可されているスクリプトのソースではないため、文字列を JavaScript として評価することを拒否しました: "default-src 'self' chrome-extension-resource:". 「script-src」は明示的に設定されていないため、「default-src」がフォールバックとして使用されることに注意してください。

これは、非同期メソッドの 1 つを介してロードされたデータを解析しようとしているときに発生すると想定しています: ( d3.v3.min.js:3 (匿名関数) d3.v3.min.js:3 e.parseRows d3. v3.min.js:3 e.parse d3.v3.min.js:3 r d3.v3.min.js:3 u d3.v3.min.js:1)

d3 は (私が思うに) CSP に違反する新しい関数または何かを実行しています。

4

0 に答える 0