根据“浏览器附加组件和扩展豁免”部分的维基百科:
CSP 不应干扰用户安装的浏览器加载项或扩展程序的操作...
但不幸的是,它阻止了由我的插件注入的外部脚本。
我总是可以将这个注入的代码放入内容脚本中。但我想知道是否有另一种方法可以克服这个问题。
根据“浏览器附加组件和扩展豁免”部分的维基百科:
CSP 不应干扰用户安装的浏览器加载项或扩展程序的操作...
但不幸的是,它阻止了由我的插件注入的外部脚本。
我总是可以将这个注入的代码放入内容脚本中。但我想知道是否有另一种方法可以克服这个问题。
您确实应该将代码放入内容脚本中。如果您在页面中插入<script>
标签,那么它的工作方式与网页本身插入标签完全相同。浏览器无法知道此代码属于您的扩展程序。更糟糕的是,此代码对网页的操作并不安全——例如,网页可以重新定义window.alert()
方法,您的代码将无法显示消息。另一方面,扩展代码和内容脚本不受此影响,它们只看到原始 DOM 对象,没有任何 JavaScript 引起的更改。