Javascript Chrome应用程序中的内容安全策略

Javascript Chrome应用程序中的内容安全策略,javascript,google-chrome,manifest,google-chrome-app,content-security-policy,Javascript,Google Chrome,Manifest,Google Chrome App,Content Security Policy,我的Chrome应用程序具有以下清单: { "name": ", "version": "1.0.3", "manifest_version": 2, "description": "Chrome Extension for.", "icons": { "16": "images/test.png", "19": "images/test.png", "256": "images/test.png"

我的Chrome应用程序具有以下清单:

{
    "name": ",
    "version": "1.0.3",
    "manifest_version": 2,
    "description": "Chrome Extension for.",
    "icons": {
        "16": "images/test.png",
        "19": "images/test.png",
        "256": "images/test.png"
    },
    "app": {
        "background": {
            "scripts": [
                "background.js"
            ]
        }
    },

    "sandbox": {
        "js": [
            "lib/test-api.js"
        ]
    },
    "permissions": [
        "<all_urls>",
        "notifications",
        "storage",
        "videoCapture"
    ]
}
{
“姓名”:“,
“版本”:“1.0.3”,
“清单版本”:2,
“说明”:“Chrome扩展用于。”,
“图标”:{
“16”:“images/test.png”,
“19”:“images/test.png”,
“256”:“images/test.png”
},
“应用程序”:{
“背景”:{
“脚本”:[
“background.js”
]
}
},
“沙箱”:{
“js”:[
“lib/test api.js”
]
},
“权限”:[
“和沙箱,但我仍然得到这个错误:

拒绝将字符串作为JavaScript求值,因为“不安全求值”为 不允许以下内容安全中的脚本源 策略指令:“默认src‘self’chrome扩展资源:”。 请注意,“script src”未显式设置,因此“default src”为 用作退路


您是否尝试过按照链接将CSP行添加到清单中


你展示的不是a,而是a。
Chrome extensions将允许您放松默认的内容安全策略;Chrome应用程序不会。(来源:;注意:此页面与其他页面不同)

下一行适用于应用程序和扩展:

  • 内容安全策略不适用于特定脚本,而是适用于整个页面。因此,您只能为整个页面声明一个沙盒(使用)。您不能使用“js”作为沙盒中的密钥
在Chrome扩展中,CSP可以放宽,例如允许使用以下策略进行
eval

"content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'"
在扩展中打开应用程序:不要使用
应用程序
键,而是使用
后台
键。通过以下清单,您可以在后台页面中使用
评估

{
    "name": "Whatever",
    "version": "1.0.3",
    "manifest_version": 2,
    "background": {
        "scripts": [
            "background.js"
        ]
    },
    "content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'"
}

(省略
图标
/
权限
,因为它们与示例不相关;省略
沙盒
,因为它不需要)

是的,但我使用app-package-app抱歉,不确定我是否完全理解……从阅读有关它的内容来看,这似乎不重要。您的评估是在background.js、test-api.js还是两者中?@brucek我想他指的错误是“
内容安全策略”只允许用于扩展和旧的打包应用程序,但这是一个包老化的应用程序。
在应用程序中,您需要使用沙箱来使用eval。请看,是的,我最终找到了答案;-)@rob-w的答案如下。这可能是一件“坏事”的原因。
{
    "name": "Whatever",
    "version": "1.0.3",
    "manifest_version": 2,
    "background": {
        "scripts": [
            "background.js"
        ]
    },
    "content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'"
}