new Function
Webワーカーで作業するのに問題があります。Webワーカーを生成するHTMLページがあります。このWebワーカーは、を介してコードを実行しますnew Function(str)
。これをパッケージ化されたChromeアプリで使用しようとしています。このアプリでeval
は、マニフェストにサンドボックス化されたページとして明示的にリストされるようなコードを使用するページが必要です。
現在、2つのオプションがあります。
- サンドボックス化するページをリストしてください。そうすれば、を使用できます
new Function
が、要求を行うことができないため、Webワーカーを生成できません(サンドボックス化されたページには固有のオリジンがあります)。new Worker(...)
をスローしSECURITY_ERR
ます。new Function
サンドボックスで動作しますnew Worker
固有の起源のためにサンドボックスで失敗する
- サンドボックス化するページをリストしないでください。そうすれば、Webワーカーを生成できますが、
new Function
サンドボックス化されていないため、ワーカーは使用できません。それの使用について不平をnew Function(...)
投げます。EvalError
new Function
eval
のようなものであるために非サンドボックスで失敗するnew Worker
サンドボックス以外で動作します
私のCSPは次のとおりです。
sandbox allow-scripts script-src 'self' 'unsafe-eval'; object-src 'self'
new Function
Webワーカーで作業するにはどうすればよいですか?