scripting.removeCSS()

Entfernt ein CSS-Stylesheet, das durch einen Aufruf von scripting.insertCSS() eingefügt wurde.

Hinweis: Diese Methode ist ab Manifest V3 oder höher in Chrome und Firefox 101 verfügbar. In Safari und Firefox 102+ ist diese Methode auch in Manifest V2 verfügbar.

Um diese API zu verwenden, benötigen Sie die "scripting"-Berechtigung und die Berechtigung für die URL der Seite, entweder explizit als Host-Berechtigung oder durch die Verwendung der activeTab-Berechtigung.

Dies ist eine asynchrone Funktion, die ein Promise zurückgibt.

Syntax

js
await browser.scripting.removeCSS(
  details       // object
)

Parameter

details

Ein Objekt, das das zu entfernende CSS und den Ort beschreibt, an dem es entfernt werden soll. Es enthält die folgenden Eigenschaften:

css Optional

string. Ein String, der das einzufügende CSS enthält. Entweder css oder files muss angegeben werden und muss mit dem durch scripting.insertCSS() eingefügten Stylesheet übereinstimmen.

files Optional

array von string. Der Pfad einer CSS-Datei, die eingefügt werden soll, relativ zum Root-Verzeichnis der Erweiterung. Entweder files oder css muss angegeben werden und muss mit dem durch scripting.insertCSS() eingefügten Stylesheet übereinstimmen.

origin Optional

string. Der Stilursprung für die Einfügung, entweder USER oder AUTHOR. Standard ist AUTHOR. Muss mit dem Ursprung des durch scripting.insertCSS() eingefügten Stylesheet übereinstimmen.

target

scripting.InjectionTarget. Details, die das Ziel angeben, von dem das CSS entfernt werden soll.

Rückgabewert

Ein Promise, das ohne Argumente erfüllt wird, wenn das gesamte CSS entfernt ist. Falls ein Fehler auftritt, wird das Promise abgelehnt. Versuche, nicht existierende Stylesheets zu entfernen, werden ignoriert.

Beispiele

Dieses Beispiel fügt einige CSS mit scripting.insertCSS hinzu und entfernt es dann wieder, wenn der Benutzer auf eine Browser-Aktion klickt:

js
// Assuming some style has been injected previously with the following code:
//
// await browser.scripting.insertCSS({
//   target: {
//     tabId: tab.id,
//   },
//   css: "* { background: #c0ffee }",
// });
//
// We can remove it when a user clicked an extension button like this:
browser.action.onClicked.addListener(async (tab) => {
  try {
    await browser.scripting.removeCSS({
      target: {
        tabId: tab.id,
      },
      css: "* { background: #c0ffee }",
    });
  } catch (err) {
    console.error(`failed to remove CSS: ${err}`);
  }
});

Browser-Kompatibilität

Hinweis: Diese API basiert auf Chromiums chrome.scripting API.