【问题标题】:javascript extension src-script blockedjavascript 扩展 src 脚本被阻止
【发布时间】:2017-11-26 11:29:29
【问题描述】:

我想创建将我重定向到处理程序的扩展:查询, 这是我的代码:

ma​​nifest.json

…
"content_security_policy": "default-src * ;script-src 'self' 'unsafe-eval' ;object-src 'self' 'unsafe-eval'"
…

background.html

    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <script type="text/javascript" src="background.js"></script>
    </head>
    <body>
    <button id="bttn1" onclick="search()">Search!</button>
    </body>
    </html>

但是在调试扩展时,我得到了错误:

    Content Security Policy: The page’s settings blocked the loading of a 
    resource at self (“script-src moz-extension://0ab93926-b987-451b-ad1d-
    c183360acd8a 'unsafe-eval'”). Source: onclick attribute on BUTTON element.

我该怎么做才能解决这个问题? 我的浏览器是 Firefox Developer Edition 58.0b6 (64-bit)

【问题讨论】:

标签: javascript firefox-addon


【解决方案1】:

Firefox 应用了一个default Content Security Policy to extensions,它不允许内联 JavaScript。

你可以:

  • 而不是在 HTML 中内联 onclick="search()",而是来自 .js 文件中的 addEventListener
  • 将内联脚本的哈希添加到扩展程序的内容安全策略中。

对于后一种方法,散列您的内联脚本。例如,您的地址是 search()。有一个方便的在线tool for this at ReportURI。像这样将哈希插入您的manifest.json

"content_security_policy": "script-src 'self' 'sha256-55C+spmnlCUR5KgSippSbxcEepdItE3dLSUgcw1if/U='; object-src 'self';",

【讨论】:

    猜你喜欢
    • 2013-10-21
    • 2020-06-05
    • 1970-01-01
    • 1970-01-01
    • 2021-03-14
    • 2019-07-25
    • 2013-10-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多