J'essaie d'injecter mon CSS à partir de JavaScript qui est injecté en tant que script de contenu:
"content_scripts": [
{
"matches": ["http://www.google.com/*"],
"js": ["script.js"]
}
],
J'ai trouvé question similaire sur l'injection de CSS, mais j'ai rencontré un problème lors de l'utilisation du code de réponse acceptée . Voici mon script.js
Contenu:
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);
Après avoir chargé une page, ce message apparaît dans la console:
Refus de charger l'extension chrome: //phkgaaiaakklogbhkdnpjncedlbamani/fix.css. Les ressources doivent être répertoriées dans la clé de manifeste web_accessible_resources afin d'être chargées par des pages en dehors de l'extension.
Y a-t-il un moyen de réparer ceci? Ou, peut-être, une autre façon d'injecter un CSS à partir de ce fichier JavaScript?
Remarque: je ne peux pas inclure la feuille de style directement à partir du manifeste.
Vous pouvez ajouter au champ des autorisations du manifeste; Voir web_accessible_resources . Vous ajouteriez donc ceci au manifeste:
, "web_accessible_resources": [
"fix.css"
]
Voir aussi "Injection programmatique" . et insertCSS()
.
Pour la plupart des applications, oubliez tout ce code createElement
et ajoutez simplement le fichier CSS au manifeste:
"content_scripts": [
{
"matches": ["http://www.google.com/*"],
"css": ["fix.css"],
"js": ["script.js"]
}
],
même si je comprends que vous ne voulez pas faire cela dans ce cas précis.