根据维基百科的“浏览器插件和扩展免除”部分:
CSP不应干扰浏览器加载项的操作 用户安装的扩展程序......
但不幸的是,它阻止了我的插件注入的外部脚本。
我总是可以将这些注入的代码放入内容脚本中。但我想知道是否有另一种方法可以解决这个问题。
答案 0 :(得分:3)
您确实应该将代码放入内容脚本中。如果您在页面中插入<script>
标记,则其工作方式与网页本身插入的方式完全相同。浏览器无法知道此代码属于您的扩展程序。更糟糕的是,这段代码不能安全地受到网页的操纵 - 例如该网页可以重新定义window.alert()
方法,您的代码将无法显示消息。另一方面,扩展代码和内容脚本不受此影响,这些see only the raw DOM objects without any JavaScript-induced changes。