2017-05-19 9 views
4

ブラウザの拡張で、私はWebExtension https://developer.mozilla.org/ru/Add-ons/WebExtensionsを意味します。ポリマー2を使用してブラウザ拡張を構築できますか?

私はちょうどローカルファイルのためにそれを使用しようとしました:「ファイル:///」での輸入資源へ

アクセス:無効な応答、原点からの「ヌル」はCORSポリシーによって をブロックされています。したがって、「null」の原点はアクセスが許可されていない です。

WebExtension(特にポップアップ設定用)には特定のサーバーがありません。 リンクはchrome-extensionのようになります://pkngljipephggpkgjfkjhggmcjfmhgkn/page.html

+0

答えはイエスです。別の問題が原因で受信しているエラーです。 CORSはクロスオリジン要求エラーです。 – Gary

+0

ちょうどHTMLのインポート – Rustam

+0

あなたがインポートしている途中で何かがうまくいかない。ポリマーに関するエラーではありません。クロムが何かをブロックしている可能性があります。何がうまくいかないかをテストするためにjqueryなどを試してみましたか? – Gary

答えて

0

ちょうどテストされ、ここに答えがあります。まもなく、はい、合併症があります。

1つのPolymer要素だけを挿入した後、多くのエラーが発生しました。 "script-src 'self'"に違反しているため、インラインスクリプトの実行が拒否されました。 インライン実行を有効にするには、 'unsafe-inline'キーワード、ハッシュ( 'sha256-AYzkEOy570v3pgwSjL36msfNQGIBNCoa6ppxJtI8Fag =')、またはnonce( 'nonce -...')のいずれかが必要です。

Chrome 31+の拡張要件 - コンテンツのセキュリティポリシーを変更することはできません。どのテンプレートにもインライン<script>タグを使用することはできません。

私はすべてのインラインスクリプトを別々のスクリプトに移動してPolymerのコードを変更しています。

短所:Polymerが更新されるとコードの自動更新ができません。私はコードを書き直す必要があるたびに。

0

CORS/CSPの問題を解決するには、VulcanizeツールとCrisperツールを使用できます。

ロトの詳細はこちらハウツーの:https://www.polymer-project.org/1.0/docs/tools/optimize-for-production

はどちらのツールをがぶ飲みのプラグインを持って、スクリプトのことができますので、このようなビルドステップ:

gulp.task('vulcanize', function() { 
    return gulp.src('index.html') 
    .pipe(vulcanize({ 
     inlineScripts: true, 
     inlineCss: true 
    })) 
    .pipe(crisper()) 
    .pipe(gulp.dest('popup')); 
}); 
関連する問題