scripting.removeCSS()

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

Hinweis: Diese Methode ist in 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 nutzen, müssen Sie die "scripting" Berechtigung und die Berechtigung für die URL der Seite haben, entweder explizit als Host-Berechtigung oder unter 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 beschreibt, welches CSS entfernt werden soll und wo es entfernt werden soll. Es enthält die folgenden Eigenschaften:

css Optional

string. Ein String, der das zu injizierende CSS enthält. Entweder css oder files muss angegeben werden und muss dem Stylesheet entsprechen, das durch scripting.insertCSS() eingefügt wurde.

files Optional

array von string. Der Pfad von CSS-Dateien, die injiziert werden sollen, relativ zum Stammverzeichnis des Add-ons. Entweder files oder css muss angegeben werden und muss dem Stylesheet entsprechen, das durch scripting.insertCSS() eingefügt wurde.

origin Optional

string. Der Stil-Ursprung für die Injektion, entweder USER oder AUTHOR. Standardmäßig AUTHOR. Muss dem Ursprungsstil des Stylesheets entsprechen, das durch scripting.insertCSS() eingefügt wurde.

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 wurde. Tritt ein Fehler auf, wird das Promise abgelehnt. Versuche, nicht vorhandene Stylesheets zu entfernen, werden ignoriert.

Beispiele

Dieses Beispiel fügt einige CSS mit scripting.insertCSS hinzu, das dann wieder entfernt wird, wenn der Nutzer 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

BCD tables only load in the browser

Hinweis: Diese API basiert auf der chrome.scripting API von Chromium.