Я'пытаюсь внедрить свой CSS из JavaScript, который внедряется как скрипт содержимого:
"content_scripts": [
{
"matches": ["http://www.google.com/*"],
"js": ["script.js"]
}
],
Я нашел похожий вопрос о внедрении CSS, но столкнулся с проблемой при использовании кода из принятого ответа. Вот содержимое моего `script.js:
var link = document.createElement("link");
link.href = chrome.extension.getURL("style.css");
link.type = "text/css";
link.rel = "stylesheet";
document.getElementsByTagName("head")[0].appendChild(link);
После загрузки какой-либо страницы в консоли появляется следующее сообщение:
Denying load of chrome-extension://phkgaaiaakklogbhkdnpjncedlbamani/fix.css. Ресурсы должны быть перечислены в ключе манифеста web_accessible_resources для того. быть загруженными страницами вне расширения.
Есть ли способ исправить это? Или, может быть, какой-то другой способ внедрить CSS из этого файла JavaScript?
Примечание: я не могу включить таблицу стилей непосредственно из манифеста.
Вы можете добавить в манифест поле разрешений; См. web_accessible_resources. Таким образом, вы добавите это в манифест:
, "web_accessible_resources": [
"fix.css"
]
См. также "Программная инъекция". и insertCSS()
.
Для большинства приложений забудьте весь этот код createElement
и просто добавьте CSS-файл в манифест:
"content_scripts": [
{
"matches": ["http://www.google.com/*"],
"css": ["fix.css"],
"js": ["script.js"]
}
],
хотя я понимаю, что вы не хотите делать этого в данном конкретном случае.