Maison > interface Web > tutoriel CSS > Pourquoi suis-je incapable d'injecter du CSS dans des pages Web à l'aide de scripts de contenu pour les extensions ?

Pourquoi suis-je incapable d'injecter du CSS dans des pages Web à l'aide de scripts de contenu pour les extensions ?

DDD
Libérer: 2024-11-11 05:02:03
original
625 Les gens l'ont consulté

Why Am I Unable to Inject CSS into Webpages Using Content Scripts for Extensions?

Problèmes d'injection CSS dans les scripts de contenu pour les extensions

Malgré la définition de l'injection CSS dans le manifeste, votre fichier CSS reste absent de la page Web. Voici les causes possibles et les solutions :

Raison : Règles CSS conflictuelles

La feuille de style est injectée mais n'est pas appliquée car d'autres styles remplacent ses règles.

Solution :

  • Augmenter la spécificité CSS :Ajoutez des sélecteurs plus spécifiques à vos règles CSS.
  • Utilisez " !important": Suffixez chaque règle avec "!important" pour remplacer les styles existants.

Raison : Limite d'injection de script de contenu

Manifest version 3 limite l'injection directe de CSS par les scripts de contenu.

Solution : Injectez du CSS via un script de contenu comme suit :

myScript.js :

var style = document.createElement('link');
style.rel = 'stylesheet';
style.type = 'text/css';
style.href = chrome.extension.getURL('myStyles.css');
(document.head||document.documentElement).appendChild(style);
Copier après la connexion

manifest.json :

"web_accessible_resources": ["myStyles.css"]
Copier après la connexion

Remarque : Lors de l'utilisation de Manifest version 2, la clé "web_accessible_resources" est requise pour autoriser l'accès à le fichier CSS à partir d'une page sans extension.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal