Привет!
Никак не могу разобраться с 3 версией манифеста.
Вроде как 3 версия теперь запрещает инжектить скрипты на страницу, но у меня 90% плагина построено на этом, чтобы облагородить сайт новыми функциями.
на манифесте версии 2 - всё работает, но поменяв на 3 выходит вот такая ошибка:
Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'self'". Either the 'unsafe-inline' keyword, a hash ('sha256-xh//iOp5YsjV4AHCfTPhZ7ybsMYdmYyvqiTjVw3FmHY='), or a nonce ('nonce-...') is required to enable inline execution.
Начал смотреть что за ошибка, но везде примеры под 2 версию манифеста, с вариантами:
Content-Security-Policy: script-src 'nonce-EDNnf03nceIOfn39fn3e9h3sdfa'
Content-Security-Policy: script-src 'sha256-xh//iOp5YsjV4AHCfTPhZ7ybsMYdmYyvqiTjVw3FmHY='
в 3 версии манифеста нужно по другому объявлять:
"content_security_policy": {
"extension_pages": "...",
"sandbox": "..."
}
Но где бы я не смотрел - пишут типо "просто измените вот на такую форму", но что куда не могу найти. пробовал по разному - всё тщетно, либо плагин при загрузке ругается на не верный манифест, либо ошибка, что выше, попросту остается.
ругается у меня на том месте где я создаю тег script, пихаю туда свои функции и инжекчу на html:
let PageScriptSpace = document.createElement('script');
InjectFunction = function(PageScriptSpace, func) {
PageScriptSpace.innerHTML += func + ';';
}
InjectFunction(PageScriptSpace, foo);
InjectFunction(PageScriptSpace, bar);
h = document.querySelector('head');
h.appendChild(PageScriptSpace);
Поделитесь, пожалуйста, примерами.