Я пишу расширение Chrome, которое использует <object>
в скрипте контента, который загружает контент с моего центрального сервера для отображения пользователю.На некоторых веб-сайтах моя попытка установить атрибут data
для <object>
блокируется, и возникает следующая ошибка:
Refused to load plugin data from 'https://redacted.com/?url=https%3A%2F%2Fwww.mozilla.org%2Fen-US%2Ffirefox%2F' because it violates the following Content Security Policy directive: "default-src 'self' *.mozilla.net *.mozilla.org *.mozilla.com". Note that 'object-src' was not explicitly set, so 'default-src' is used as a fallback.
Мое расширение работает без проблем на stackoverflow.com!Заметьте, иногда вместо этого object-src 'self' blob:
.
Из заголовков ответов сайта, на которые пытается загрузить мое расширение, ясно, что именно это мешает моему расширению делать то, что оно делает (эти заголовкиотсутствует на stackoverflow.com, поэтому он работает):
content-security-policy: default-src 'self' *.mozilla.net *.mozilla.org *.mozilla.com; child-src www.googletagmanager.com www.google-analytics.com www.youtube-nocookie.com trackertest.org www.surveygizmo.com accounts.firefox.com accounts.firefox.com.cn www.youtube.com; script-src 'self' *.mozilla.net *.mozilla.org *.mozilla.com 'unsafe-inline' 'unsafe-eval' www.googletagmanager.com www.google-analytics.com tagmanager.google.com www.youtube.com s.ytimg.com; style-src 'self' *.mozilla.net *.mozilla.org *.mozilla.com 'unsafe-inline'; img-src 'self' *.mozilla.net *.mozilla.org *.mozilla.com data: mozilla.org www.googletagmanager.com www.google-analytics.com adservice.google.com adservice.google.de adservice.google.dk creativecommons.org ad.doubleclick.net; frame-src www.googletagmanager.com www.google-analytics.com www.youtube-nocookie.com trackertest.org www.surveygizmo.com accounts.firefox.com accounts.firefox.com.cn www.youtube.com; connect-src 'self' *.mozilla.net *.mozilla.org *.mozilla.com www.googletagmanager.com www.google-analytics.com https://accounts.firefox.com/ https://accounts.firefox.com.cn/
Есть ли способ обойти это?Будет ли Shadow DOM вариантом?Я уже пытался добавить content_security_policy
к своему manifest.json
, но это никогда не сработает, потому что браузер учитывает то, что родительский веб-сайт ответил в своих заголовках.
Заранее спасибо.