我的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": [ "", "notifications", "storage", "videoCapture" ] }
我有一个运行的脚本文件eval
.我已经阅读了有关CSP和沙盒的内容,但我仍然收到此错误:
拒绝将字符串评估为JavaScript,因为'unsafe-eval'不是以下内容安全策略指令中允许的脚本源:"default-src'self'chrome-extension-resource:".请注意,'script-src'未明确设置,因此'default-src'用作后备.
小智.. 43
您是否尝试根据CSP链接将CSP行添加到清单中?
"content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'"
@brucek我认为他所指的错误是"content_security_policy"仅允许扩展和旧版打包应用,但这是一个打包的应用程序.在应用程序中,您需要使用沙盒来使用eval.请参阅https://developer.chrome.com/apps/contentSecurityPolicy (4认同)
是的,但我使用的是app package app (3认同)
Rob W.. 35
你正在展示是不是一个Chrome扩展,但Chrome应用程式.
Chrome扩展程序可让您放宽默认的内容安全政策; Chrome应用不会.(来源:Chrome应用的CSP文档 ;请注意:此页面与Chrome扩展程序的CSP文档不同).
下一行适用于应用和扩展程序:
内容安全策略不适用于特定脚本,而是适用于整个页面.因此,您只能为整个页面声明一个沙箱(使用sandbox.pages
清单文件中的密钥).您不能将"js"用作沙箱中的键.
在Chrome扩展程序中,可以放宽CSP,例如允许eval
使用以下政策:
"content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'"
要在扩展程序中转换您的应用程序:请勿使用apps
密钥,而是使用background
密钥.使用以下清单,您将能够eval
在后台页面中使用:
{ "name": "Whatever", "version": "1.0.3", "manifest_version": 2, "background": { "scripts": [ "background.js" ] }, "content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'" }
(省略icons
/ permissions
因为它们与示例无关;省略sandbox
因为它不需要)
你正在展示是不是一个Chrome扩展,但Chrome应用程式.
Chrome扩展程序可让您放宽默认的内容安全政策; Chrome应用不会.(来源:Chrome应用的CSP文档 ;请注意:此页面与Chrome扩展程序的CSP文档不同).
下一行适用于应用和扩展程序:
内容安全策略不适用于特定脚本,而是适用于整个页面.因此,您只能为整个页面声明一个沙箱(使用sandbox.pages
清单文件中的密钥).您不能将"js"用作沙箱中的键.
在Chrome扩展程序中,可以放宽CSP,例如允许eval
使用以下政策:
"content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'"
要在扩展程序中转换您的应用程序:请勿使用apps
密钥,而是使用background
密钥.使用以下清单,您将能够eval
在后台页面中使用:
{ "name": "Whatever", "version": "1.0.3", "manifest_version": 2, "background": { "scripts": [ "background.js" ] }, "content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'" }
(省略icons
/ permissions
因为它们与示例无关;省略sandbox
因为它不需要)
您是否尝试根据CSP链接将CSP行添加到清单中?
"content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'"