Cylon projectに基づいてArduinoコードエディタとして機能するChromeアプリケーションを開発しています。 jsスクリプト(それはoutput.js
と呼ぶ)は、ledトグルロジックまたはarduinoで達成したい他のものを組み込み、browserifyを使用してそれを他のノード依存関係とともにコンパイルすることによって生成されます。彼らのchrome extension exampleでは、彼らはindex.html
でこのスクリプトを静的に参照しています。ChromeアプリケーションのDOMにjavascriptを挿入する方法
私はユーザーがarduinoで作業するための任意のコードを書くことができるようになるので、私はoutput.js
の内容を動的に生成しています。私はoutput.js
の内容を正常に生成し、そのデータをscript
タグに挿入する関数を作成しました。
Refused to execute inline script because it violates the following Content Security Policy directive:
"default-src 'self' blob: filesystem: chrome-extension-resource:".
Either the 'unsafe-inline' keyword, a hash ('sha256-Mugizlz7AFKJ2hm6UA9ySY/31cKCVhLaEX9/QYpJIsk='),
or a nonce ('nonce-...') is required to enable inline execution.
Note also that 'script-src' was not explicitly set, so 'default-src' is used as a fallback.
だから、私は潜在的なセキュリティ上の脆弱性かもしれインラインJavaScriptを実行する必要が実現:しかし、Google Chromeは、エラーがスローされます。 content scriptsは、カスタムJSまたはCSSをWebページに挿入するように特別に設計されていますが、WebサイトまたはWebアドレスのコンテキストで動作することがわかります。
DOMを変更してカスタムJSをスタンドアロンのChromeアプリケーションに挿入し、一部のウェブサイトやタブのコンテキストで動作するChrome拡張機能を挿入しません。私が主題に関して行ったほとんどの研究から、コンテンツスクリプトはクロムアプリケーションにとって有効な概念ではないと思います。どのように私はその後、クロムアプリのDOMにjavascriptを注入するのですか?このような状況で私が持っているコンテンツスクリプトには、どのような選択肢がありますか?
Chromeアプリは、[サンドボックスページ](https://developer.chrome.com/apps/manifest/sandbox)を宣言することができます。 – wOxxOm
devは、実行するJSファイルのURLを受け入れる関数を作成したところで、このgithubフォーラムのソリューション(https://github.com/angular/protractor/issues/2579)を試すことができます。コード参照の詳細については、この[コードサンプル](https://gist.github.com/danharper/8364399)を参照してください。 – noogui