CSP和浏览器扩展

时间:2014-01-15 15:26:08

标签: firefox-addon code-injection content-security-policy

根据维基百科的“浏览器插件和扩展免除”部分:

  

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

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

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

1 个答案:

答案 0 :(得分:3)

您确实应该将代码放入内容脚本中。如果您在页面中插入<script>标记,则其工作方式与网页本身插入的方式完全相同。浏览器无法知道此代码属于您的扩展程序。更糟糕的是,这段代码不能安全地受到网页的操纵 - 例如该网页可以重新定义window.alert()方法,您的代码将无法显示消息。另一方面,扩展代码和内容脚本不受此影响,这些see only the raw DOM objects without any JavaScript-induced changes