4

我正在尝试为 Paper Element 使用 dart 包,当我将它作为网页运行时它运行良好,但是当我将它作为打包的 chrome 应用程序启动时出现了几个 CSP 错误。它们都与包的内联脚本相关,并且不显示自定义元素:

拒绝执行内联脚本,因为它违反了以下内容安全策略指令:“default-src 'self' chrome-extension-resource:”。启用内联执行需要“unsafe-inline”关键字、哈希(“sha256-...”)或随机数(“nonce-...”)。另请注意,'script-src' 未明确设置,因此 'default-src' 用作后备。核心图标.html:43

  • 有人在 chrome 打包的应用程序中成功使用了 dart Paper Element 吗?
  • 有没有办法从清单中禁用这个 csp?

这是我的示例项目

4

2 回答 2

4

我以为我读到此设置已从 Polymer 中删除,但包 README 仍然显示它

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 填充可以导致这个问题,但我没有仔细看。我刚试过,但找不到讨论。

于 2014-07-11T14:22:56.333 回答
1

我遇到了完全相同的问题。

简短的回答是“使用 Grunt vulcanize,https: //www.npmjs.org/package/grunt-vulcanize

硫化提取内联 javascript 到外部 javascript 文件 (.js)。使用方法在这里,https://github.com/polymerlabs/polymerchromeapp

Dart 纸元素没有内联 javascript(当然,它们被移植到 dart。)。但问题是聚合物芯,纸元素。见https://github.com/dart-lang/paper-elements/tree/master/lib/src

他们仍然有内联javascript。它们会导致 CSP 问题。

于 2014-10-21T16:58:18.293 回答