Heim > Web-Frontend > CSS-Tutorial > Hauptteil

Warum kann ich mithilfe von Inhaltsskripten für Erweiterungen kein CSS in Webseiten einfügen?

DDD
Freigeben: 2024-11-11 05:02:03
Original
607 Leute haben es durchsucht

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

CSS-Injection-Probleme in Inhaltsskripten für Erweiterungen

Obwohl CSS-Injection im Manifest definiert ist, bleibt Ihre CSS-Datei auf der Webseite verschwunden. Hier sind die möglichen Ursachen und Lösungen:

Grund: Widersprüchliche CSS-Regeln

Das Stylesheet wird eingefügt, aber nicht angewendet, da andere Stile es überschreiben Regeln.

Lösung:

  • CSS-Spezifität erhöhen:Fügen Sie spezifischere Selektoren zu Ihren CSS-Regeln hinzu.
  • Verwenden Sie „!important“: Fügen Sie jeder Regel „!important“ als Suffix hinzu, um sie zu überschreiben Vorhandene Stile.

Grund: Content Script Injection Limit

Manifest Version 3 schränkt das direkte Einfügen von CSS durch Content Scripts ein.

Lösung: CSS über ein Inhaltsskript einfügen als folgt:

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);
Nach dem Login kopieren

manifest.json:

"web_accessible_resources": ["myStyles.css"]
Nach dem Login kopieren

Hinweis : Bei Verwendung von Manifest Version 2 ist der Schlüssel „web_accessible_resources“ erforderlich, um den Zugriff auf zu ermöglichen CSS-Datei von einer Nicht-Erweiterungsseite.

Das obige ist der detaillierte Inhalt vonWarum kann ich mithilfe von Inhaltsskripten für Erweiterungen kein CSS in Webseiten einfügen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage