2

根据“浏览器附加组件和扩展豁免”部分的维基百科:

CSP 不应干扰用户安装的浏览器加载项或扩展程序的操作...

但不幸的是,它阻止了由我的插件注入的外部脚本。

我总是可以将这个注入的代码放入内容脚本中。但我想知道是否有另一种方法可以克服这个问题。

4

1 回答 1

3

您确实应该将代码放入内容脚本中。如果您在页面中插入<script>标签,那么它的工作方式与网页本身插入标签完全相同。浏览器无法知道此代码属于您的扩展程序。更糟糕的是,此代码对网页的操作并不安全——例如,网页可以重新定义window.alert()方法,您的代码将无法显示消息。另一方面,扩展代码和内容脚本不受此影响,它们只看到原始 DOM 对象,没有任何 JavaScript 引起的更改

于 2014-01-15T16:29:48.877 回答