我正在尝试使用the dart package for Paper Element,当我将其作为网页运行时效果很好,但是当我将作为打包的Chrome应用启动时,我遇到了几个CSP错误。它们都与包的内联脚本相关,并且不显示自定义元素:
拒绝执行内联脚本,因为它违反了以下内容安全策略指令:“default-src'self'chrome-extension-resource:”。要么是'unsafe-inline'关键字,哈希('sha256 -...'),要么是nonce('nonce -...')来启用内联执行。另请注意,'script-src'未显式设置,因此'default-src'用作后备。 核 - icon.html:43
答案 0 :(得分:4)
我以为我读过这个设置已从Polymer中移除但是自述文件包仍显示它
https://pub.dartlang.org/packages/polymer
transformers:
- polymer:
entry_points:
- web/index.html
- web/index2.html
csp: true
这是问题(未修复) https://code.google.com/p/dart/issues/detail?id=18011
我今天读了一个Polymer.js问题,HtmlImports polyfill可能会导致这个问题,但我没有仔细观察。 我只是尝试过,但无法找到解决方案。
答案 1 :(得分:1)
我遇到了完全相同的问题。
简短回答是"使用Grunt硫化,{{3}}
将提取内联javascript提取到外部javascript文件(.js)。 如何使用在这里,https://www.npmjs.org/package/grunt-vulcanize
Dart纸张元素没有内联javascript(couse,它们被移植到dart。)。 但问题是聚合物核心,纸张元素。见https://github.com/polymerlabs/polymerchromeapp
他们仍然有内联JavaScript。它们会导致CSP问题。