Chrome应用:拒绝执行内联脚本,因为它违反了以下内容安全策略指令

时间:2017-07-19 04:38:36

标签: jquery google-chrome google-chrome-app content-security-policy chrome-app-developer-tool

我在同一个帖子上做了一些研究,并尝试了我得到的答案。但是,每次都会抛出同样的错误。

在我的情况下,它是一个Chrome应用程序,在一个页面上,我正在使用iframe,我将src指向一些XHTML内容。这实际上包含一些内联样式和脚本,我无法删除或更改。

以下是我的清单文件。

{
    "manifest_version": 2,
    "name": "*****",
    "short_name": "****",
    "version": "*****",
    "permissions": [""],
    "content_security_policy": "default-src 'self' 'unsafe-inline' 'unsafe-eval'; script-src 'unsafe-inline' 'unsafe-eval' 'self'; object-src 'self' 'unsafe-inline' 'unsafe-eval'",
    "app": {
        "background": {
            "scripts": ["chrome.js"]
        }
    },
    "icons": {
        "16": "1.png",
        "48": "2.png",
        "128": "3.png"
        },
    "sandbox": {
        "pages": [
            "****.html"
        ]
    }
}

1 个答案:

答案 0 :(得分:2)

请参阅Content Security Policy guidelines

  

内联脚本

     

直到Chrome 45,没有放松的机制   限制执行内联JavaScript。特别是,   设置包含'unsafe-inline'的脚本策略将没有   效果。

     

从Chrome 46开始,可以通过指定内联脚本将其列入白名单   策略中源代码的base64编码哈希。这个哈希必须   使用哈希算法(sha256,sha384或sha512)作为前缀。看到   用于示例的元素的哈希用法。