Ответ 1
Вы пытались добавить строку CSP в свой манифест в соответствии со ссылкой CSP?
"content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'"
В моем приложении 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"
]
}
У меня есть файл script, который запускает eval
. Я прочитал о CSP и песочнице, но я все еще получаю эту ошибку:
Отказался от оценки строки как JavaScript, потому что 'unsafe-eval' не разрешенный источник script в следующем Content Security Директива политики: "default-src" self 'chrome-extension-resource: ". Обратите внимание, что 'script -src' явно не задан, поэтому 'default-src' используется как резерв.
Вы пытались добавить строку CSP в свой манифест в соответствии со ссылкой CSP?
"content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'"
То, что вы показываете, не расширение Chrome, но приложение Chrome.
Расширения Chrome позволят вам смягчить политику безопасности контента по умолчанию; Chrome Apps не работает. (источник: Документы CSP для приложений Chrome; примечание: эта страница отличается от Документы CSP для расширений Chrome).
Следующая строка относится к приложениям и расширениям:
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
, потому что он не нужен)