Прописал в
manifest.js своего расширения все необходимые разрешения:
"content_security_policy": "script-src 'self' 'unsafe-inline' 'unsafe-eval'"
Однако, по прежнему не могу вставлять скрипты на страницах расширения инлайново. Текст ошибки:
Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'self' 'unsafe-eval'". Either the 'unsafe-inline' keyword, a hash ('sha256-zeYLOGjDUEFNfFuC62JDSnYb6MFW4QnA1/5JWQZ9d8Y='), or a nonce ('nonce-...') is required to enable inline execution.
Подскажите, как мне правильно настроить Content Security Policy для страниц моего расширения?
Чтобы можно было свободно вставлять любые скрипты
именно инлайново:
var script = document.createElement('script');
script.innerHTML = 'Произвольный JavaScript-код';
document.head.appendChild(script);
Меня
не интересует вставка ссылки на скрипт или его выполнение через eval, хочу разобраться именно с unsafe-inline!
Что я уже пробовал делатьЯ предвижу ваши возражения, мол научись читать ошибки. Однако, разумеется я первым делом попробовал использовать атрибут
nonce для вставляемых скриптов, но увы, мне это не помогло:
"content_security_policy": "script-src 'self' 'unsafe-inline' 'unsafe-eval' 'nonce-Xiojd98a8jd3s9kFiDi29Uijwdu'"
var script = document.createElement('script');
script.setAttribute('nonce', 'Xiojd98a8jd3s9kFiDi29Uijwdu');
script.innerHTML = 'Произвольный JavaScript-код';;
document.head.appendChild(script);
Это не решило проблему и Chrome продолжает выдавать ту же саму ошибку.