根据维基百科的“浏览器附加组件和扩展豁免”部分:
CSP should not interfere with the operation of browser add-ons or extensions installed by the user...
但不幸的是,它阻止了由我的附加组件注入(inject)的外部脚本。
我总是可以将此注入(inject)的代码放入内容脚本中。但我想知道是否有其他方法可以克服这个问题。
最佳答案
您确实应该将代码放入内容脚本中。如果插入<script>
标签到页面中,那么它的工作方式与网页本身插入它完全相同。浏览器无法知道此代码属于您的扩展程序。更糟糕的是,此代码不能安全地免受网页的操纵 - 例如网页可以重新定义window.alert()
方法和您的代码将无法显示消息。另一方面,扩展代码和内容脚本不受此影响,这些 see only the raw DOM objects without any JavaScript-induced changes .
关于firefox-addon - CSP 和浏览器扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21141427/