chrome.contentSettings

refresh date: 2026-09-25 robots: noindex

Beschreibung

Mit der chrome.contentSettings API können Sie Einstellungen ändern, mit denen festgelegt wird, ob Websites Funktionen wie Cookies, JavaScript und Plug-ins verwenden können. Allgemeiner ausgedrückt: Mit den Inhaltseinstellungen können Sie das Verhalten von Chrome für jede Website einzeln anpassen, anstatt es global festzulegen.

Berechtigungen

contentSettings

Manifest

Sie müssen die Berechtigung „contentSettings“ im Manifest Ihrer Erweiterung deklarieren, um die API verwenden zu können. Beispiel:

{
  "name": "My extension",
  ...
  "permissions": [
    "contentSettings"
  ],
  ...
}

Muster für Inhaltseinstellungen

Sie können Muster verwenden, um die Websites anzugeben, auf die sich die einzelnen Inhaltseinstellungen auswirken. Beispiel: https://*.youtube.com/* gibt youtube.com und alle zugehörigen Subdomains an. Die Syntax für Muster für Inhaltseinstellungen ist dieselbe wie für Übereinstimmungsmuster, mit einigen Unterschieden:

  • Bei http-, https- und ftp-URLs muss der Pfad ein Platzhalter (/*) sein. Bei file-URLs muss der Pfad vollständig angegeben werden und darf keine Platzhalter enthalten.
  • Im Gegensatz zu Übereinstimmungsmustern können Muster für Inhaltseinstellungen eine Portnummer enthalten. Wenn eine Portnummer angegeben ist, stimmt das Muster nur mit Websites mit diesem Port überein. Wenn keine Portnummer angegeben ist, entspricht das Muster allen Ports.

Musterpriorität

Wenn für eine bestimmte Website mehrere Regeln für Inhaltseinstellungen gelten, hat die Regel mit dem spezifischeren Muster Vorrang.

Die folgenden Muster sind beispielsweise nach Priorität sortiert:

  1. https://www.example.com/*
  2. https://*.example.com/* (Übereinstimmung mit beispiel.de und allen Subdomains)
  3. <all_urls> (Übereinstimmung mit jeder URL)

Drei Arten von Platzhaltern beeinflussen, wie spezifisch ein Muster ist:

  • Platzhalter im Port (z. B. https://www.example.com:*/*)
  • Platzhalter im Schema (z. B. *://www.example.com:123/*)
  • Platzhalter im Hostnamen (z. B. https://*.example.com:123/*)

Wenn ein Muster in einem Teil spezifischer als ein anderes Muster ist, in einem anderen Teil jedoch weniger spezifisch, werden die verschiedenen Teile in der folgenden Reihenfolge geprüft: Hostname, Schema, Port. Die folgenden Muster sind beispielsweise nach Priorität sortiert:

  1. https://www.example.com:*/* Gibt den Hostnamen und das Schema an.
  2. *:/www.example.com:123/* Nicht so hoch, da zwar der Hostname, aber nicht das Schema angegeben ist.
  3. https://*.example.com:123/* Niedriger, da zwar Port und Schema angegeben sind, der Hostname aber einen Platzhalter enthält.

Primäre und sekundäre Muster

Welche URL bei der Entscheidung, welche Inhaltseinstellung angewendet werden soll, berücksichtigt wird, hängt vom Inhaltstyp ab. Bei contentSettings.notifications basieren die Einstellungen beispielsweise auf der in der Omnibox angezeigten URL. Diese URL wird als „primäre“ URL bezeichnet.

Bei einigen Inhaltstypen können zusätzliche URLs berücksichtigt werden. Ob eine Website beispielsweise ein contentSettings.cookies festlegen darf, wird anhand der URL der HTTP-Anfrage (in diesem Fall die primäre URL) sowie der in der Omnibox angezeigten URL (die sogenannte sekundäre URL) entschieden.

Wenn mehrere Regeln primäre und sekundäre Muster haben, hat die Regel mit dem spezifischeren primären Muster Vorrang. Wenn mehrere Regeln dasselbe primäre Muster haben, hat die Regel mit dem spezifischeren sekundären Muster Vorrang. Die folgende Liste von primären/sekundären Musterpaaren ist beispielsweise nach Priorität sortiert:

VorrangPrimäres MusterSekundäres Muster
1https://www.moose.com/*,https://www.wombat.com/*
2https://www.moose.com/*,<all_urls>
3<all_urls>,https://www.wombat.com/*
4<all_urls>,<all_urls>

Ressourcenkennzeichnungen

Mit Ressourcenkennungen können Sie Inhaltseinstellungen für bestimmte Untertypen eines Inhaltstyps festlegen. Derzeit ist der einzige Inhaltstyp, der Ressourcenkennungen unterstützt, contentSettings.plugins, wobei eine Ressourcenkennung ein bestimmtes Plug-in identifiziert. Beim Anwenden von Inhaltseinstellungen werden zuerst die Einstellungen für das jeweilige Plug-in geprüft. Wenn für das jeweilige Plug-in keine Einstellungen gefunden werden, werden die allgemeinen Inhaltseinstellungen für Plug-ins geprüft.

Wenn eine Regel für Inhaltseinstellungen beispielsweise die Ressourcen-ID adobe-flash-player und das Muster <all_urls> hat, hat sie Vorrang vor einer Regel ohne Ressourcen-ID und dem Muster https://www.example.com/*, auch wenn dieses Muster spezifischer ist.

Mit der Methode contentSettings.ContentSetting.getResourceIdentifiers können Sie eine Liste der Ressourcenkennungen für einen Inhaltstyp abrufen. Die zurückgegebene Liste kann sich je nach den auf dem Computer des Nutzers installierten Plug-ins ändern. Chrome versucht jedoch, die Kennungen über Plug-in-Updates hinweg stabil zu halten.

Beispiele

Wenn Sie diese API ausprobieren möchten, installieren Sie das contentSettings API-Beispiel aus dem Repository chrome-extension-samples.

Typen

AutoVerifyContentSetting

Chrome 113 und höher

Enum

"allow"

"block"

CameraContentSetting

Chrome 46 oder höher

Enum

"allow"

"block"

"ask"

ClipboardContentSetting

Chrome 121 und höher

Enum

"allow"

"block"

"ask"

ContentSetting

Attribute

  • Löschen

    void

    Promise

    Alle von dieser Erweiterung festgelegten Regelsätze für Inhaltseinstellungen löschen.

    Die Funktion clear sieht so aus:

    (details: object, callback?: function) => {...}

    • Details

      Objekt

      • Bereich

        Scope optional

        Wo die Einstellung gelöscht werden soll (Standard: „regular“).

    • callback

      function optional

      Der Parameter callback sieht so aus:

      () => void

    • Gibt zurück

      Promise<void>

      Chrome 96 oder höher

      Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

  • get

    void

    Promise

    Ruft die aktuelle Inhaltseinstellung für ein bestimmtes URL-Paar ab.

    Die Funktion get sieht so aus:

    (details: object, callback?: function) => {...}

    • Details

      Objekt

      • inkognito

        Boolesch optional

        Gibt an, ob die Inhaltseinstellungen für eine Inkognitositzung geprüft werden sollen. (Standardeinstellung false)

      • primaryUrl

        String

        Die primäre URL, für die die Inhaltseinstellung abgerufen werden soll. Die Bedeutung einer primären URL hängt vom Inhaltstyp ab.

      • resourceIdentifier

        Eine genauere Kennung des Inhaltstyps, für den die Einstellungen abgerufen werden sollen.

      • secondaryUrl

        String optional

        Die sekundäre URL, für die die Inhaltseinstellung abgerufen werden soll. Die Standardeinstellung ist die primäre URL. Die Bedeutung einer sekundären URL hängt vom Inhaltstyp ab. Nicht alle Inhaltstypen verwenden sekundäre URLs.

    • callback

      function optional

      Der Parameter callback sieht so aus:

      (details: object) => void

      • Details

        Objekt

        • Einstellung

          T

          Die Inhaltseinstellung. Die möglichen Werte finden Sie in der Beschreibung der einzelnen ContentSetting-Objekte.

    • Gibt zurück

      Promise<object>

      Chrome 96 oder höher

      Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

  • getResourceIdentifiers

    void

    Promise

    Die Funktion getResourceIdentifiers sieht so aus:

    (callback?: function) => {...}

    • callback

      function optional

      Der Parameter callback sieht so aus:

      (resourceIdentifiers?: ResourceIdentifier[]) => void

      • resourceIdentifiers

        ResourceIdentifier[] optional

        Eine Liste der Ressourcenkennungen für diesen Inhaltstyp oder undefined, wenn dieser Inhaltstyp keine Ressourcenkennungen verwendet.

    • Gibt zurück
      Chrome 96 oder höher

      Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

  • festgelegt

    void

    Promise

    Wendet eine neue Regel für Inhaltseinstellungen an.

    Die Funktion set sieht so aus:

    (details: object, callback?: function) => {...}

    • Details

      Objekt

      • primaryPattern

        String

        Das Muster für die primäre URL. Weitere Informationen zum Format eines Musters finden Sie unter Muster für Inhaltseinstellungen.

      • resourceIdentifier

        Die Ressourcen-ID für den Inhaltstyp.

      • Bereich

        Scope optional

        Wo die Einstellung festgelegt werden soll (Standard: regulär).

      • secondaryPattern

        String optional

        Das Muster für die sekundäre URL. Standardmäßig werden alle URLs berücksichtigt. Weitere Informationen zum Format eines Musters finden Sie unter Muster für Inhaltseinstellungen.

      • Einstellung

        beliebig

        Die durch diese Regel angewendete Einstellung. Die möglichen Werte finden Sie in der Beschreibung der einzelnen ContentSetting-Objekte.

    • callback

      function optional

      Der Parameter callback sieht so aus:

      () => void

    • Gibt zurück

      Promise<void>

      Chrome 96 oder höher

      Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

CookiesContentSetting

Chrome 44 oder höher

Enum

"allow"

"block"

"session_only"

FullscreenContentSetting

Chrome 44 oder höher

Wert

"allow"

ImagesContentSetting

Chrome 44 oder höher

Enum

"allow"

"block"

JavascriptContentSetting

Chrome 44 oder höher

Enum

"allow"

"block"

LocationContentSetting

Chrome 44 oder höher

Enum

"allow"

"block"

"ask"

MicrophoneContentSetting

Chrome 46 oder höher

Enum

"allow"

"block"

"ask"

MouselockContentSetting

Chrome 44 oder höher

Wert

"allow"

MultipleAutomaticDownloadsContentSetting

Chrome 44 oder höher

Enum

"allow"

"block"

"ask"

NotificationsContentSetting

Chrome 44 oder höher

Enum

"allow"

"block"

"ask"

PluginsContentSetting

Chrome 44 oder höher

Wert

"block"

PopupsContentSetting

Chrome 44 oder höher

Enum

"allow"

"block"

PpapiBrokerContentSetting

Chrome 44 oder höher

Wert

"block"

ResourceIdentifier

Der einzige Inhaltstyp, der Ressourcenkennungen verwendet, ist contentSettings.plugins. Weitere Informationen finden Sie unter Ressourcenkennungen.

Attribute

  • Beschreibung

    String optional

    Eine menschenlesbare Beschreibung der Ressource.

  • id

    String

    Die Ressourcen-ID für den angegebenen Inhaltstyp.

Scope

Chrome 44 oder höher

Der Bereich der ContentSetting. Einer der folgenden Werte: regular: Einstellung für das reguläre Profil (die vom Inkognitoprofil übernommen wird, wenn sie nicht an anderer Stelle überschrieben wird), incognito\_session\_only: Einstellung für das Inkognitoprofil, die nur während einer Inkognitositzung festgelegt werden kann und gelöscht wird, wenn die Inkognitositzung endet (überschreibt reguläre Einstellungen).

Enum

"regular"

"incognito_session_only"

SoundContentSetting

Chrome 141 oder höher

Enum

"allow"

"block"

Attribute

automaticDownloads

Gibt an, ob Websites automatisch mehrere Dateien herunterladen dürfen. Eine der folgenden Optionen: allow: Websites erlauben, mehrere Dateien automatisch herunterzuladen, block: Websites nicht erlauben, mehrere Dateien automatisch herunterzuladen, ask: Nachfragen, wenn eine Website nach der ersten Datei automatisch weitere Dateien herunterladen möchte. Der Standardwert ist ask. Die primäre URL ist die URL des Frames auf oberster Ebene. Die sekundäre URL wird nicht verwendet.

autoVerify

Chrome 113 und höher

Gibt an, ob Websites die Private State Tokens API verwenden dürfen. Eine der folgenden Optionen: allow: Websites dürfen die Private State Tokens API verwenden, block: Websites dürfen die Private State Tokens API nicht verwenden. Der Standardwert ist allow. Beim Aufrufen von set() muss das primäre URL-Muster <all_urls> sein. Die sekundäre URL wird nicht verwendet.

camera

Chrome 46 oder höher

Gibt an, ob Websites auf die Kamera zugreifen dürfen. Eine der folgenden Optionen: allow: Websites den Zugriff auf die Kamera erlauben, block: Websites den Zugriff auf die Kamera nicht erlauben, ask: Fragen, wenn eine Website auf die Kamera zugreifen möchte. Der Standardwert ist ask. Die primäre URL ist die URL des Dokuments, das den Kamerazugriff angefordert hat. Die sekundäre URL wird nicht verwendet. HINWEIS: Die Einstellung „allow“ ist nicht gültig, wenn beide Muster „<all_urls>“ sind.

clipboard

Chrome 121 und höher

Gibt an, ob Websites über erweiterte Funktionen der Async Clipboard API auf die Zwischenablage zugreifen dürfen. Zu den „erweiterten“ Funktionen gehört alles außer dem Schreiben integrierter Formate nach einer Nutzergeste, d.h. die Möglichkeit, benutzerdefinierte Formate zu lesen und zu schreiben, sowie die Möglichkeit, ohne Nutzergeste zu schreiben. Eine der folgenden Optionen: allow: Websites erlauben, erweiterte Funktionen der Zwischenablage zu verwenden, block: Websites nicht erlauben, erweiterte Funktionen der Zwischenablage zu verwenden, ask: Fragen, wenn eine Website erweiterte Funktionen der Zwischenablage verwenden möchte. Der Standardwert ist ask. Die primäre URL ist die URL des Dokuments, das Zugriff auf die Zwischenablage angefordert hat. Die sekundäre URL wird nicht verwendet.

cookies

Gibt an, ob Websites Cookies und andere lokale Daten festlegen dürfen. Eine der folgenden Optionen: allow: Cookies akzeptieren, block: Cookies blockieren, session\_only: Cookies nur für die aktuelle Sitzung akzeptieren. Der Standardwert ist allow. Die primäre URL ist die URL, die den Cookie-Ursprung darstellt. Die sekundäre URL ist die URL des Frames der obersten Ebene.

fullscreen

Veraltet. Hat keine Auswirkungen mehr. Die Berechtigung für den Vollbildmodus wird jetzt automatisch allen Websites gewährt. Der Wert ist immer allow.

images

Gibt an, ob Bilder angezeigt werden sollen. Einer der folgenden Werte: allow: Bilder anzeigen, block: Bilder nicht anzeigen. Der Standardwert ist allow. Die primäre URL ist die URL des Frames auf oberster Ebene. Die sekundäre URL ist die URL des Bildes.

javascript

Gibt an, ob JavaScript ausgeführt werden soll. Einer der folgenden Werte: allow: JavaScript ausführen, block: JavaScript nicht ausführen. Der Standardwert ist allow. Die primäre URL ist die URL des Frames auf oberster Ebene. Die sekundäre URL wird nicht verwendet.

location

Gibt an, ob die Standortbestimmung zulässig ist. Eine der folgenden Optionen: allow: Websites dürfen deinen Standort ermitteln, block: Websites dürfen deinen Standort nicht ermitteln, ask: Vor dem Ermitteln deines Standorts durch Websites fragen. Der Standardwert ist ask. Die primäre URL ist die URL des Dokuments, das Standortdaten angefordert hat. Die sekundäre URL ist die URL des Frames auf oberster Ebene (die sich von der anfragenden URL unterscheiden kann).

microphone

Chrome 46 oder höher

Gibt an, ob Websites auf das Mikrofon zugreifen dürfen. Eine der folgenden Optionen: allow: Websites den Zugriff auf das Mikrofon erlauben, block: Websites den Zugriff auf das Mikrofon nicht erlauben, ask: Fragen, wenn eine Website auf das Mikrofon zugreifen möchte. Der Standardwert ist ask. Die primäre URL ist die URL des Dokuments, das den Zugriff auf das Mikrofon angefordert hat. Die sekundäre URL wird nicht verwendet. HINWEIS: Die Einstellung „allow“ ist nicht gültig, wenn beide Muster „<all_urls>“ sind.

mouselock

Veraltet. Hat keine Auswirkungen mehr. Die Berechtigung für die Maussperre wird jetzt automatisch für alle Websites gewährt. Der Wert ist immer allow.

notifications

Gibt an, ob Websites Desktop-Benachrichtigungen anzeigen dürfen. Eine der folgenden Optionen: allow: Websites dürfen Desktop-Benachrichtigungen anzeigen, block: Websites dürfen keine Desktop-Benachrichtigungen anzeigen, ask: Fragen, wenn eine Website Desktop-Benachrichtigungen anzeigen möchte. Der Standardwert ist ask. Die primäre URL ist die URL des Dokuments, in dem die Benachrichtigung angezeigt werden soll. Die sekundäre URL wird nicht verwendet.

plugins

Veraltet. Da die Flash-Unterstützung in Chrome 88 entfernt wurde, hat diese Berechtigung keine Auswirkungen mehr. Der Wert ist immer block. Aufrufe von set() und clear() werden ignoriert.

popups

Gibt an, ob Websites Pop-ups anzeigen dürfen. Eine der folgenden Optionen: allow: Websites dürfen Pop-ups einblenden, block: Websites dürfen keine Pop-ups einblenden. Der Standardwert ist block. Die primäre URL ist die URL des Frames auf oberster Ebene. Die sekundäre URL wird nicht verwendet.

unsandboxedPlugins

Veraltet. Zuvor wurde damit festgelegt, ob Websites Plug-ins ohne Sandbox ausführen dürfen. Da der Flash-Broker-Prozess in Chrome 88 entfernt wurde, hat diese Berechtigung jedoch keine Auswirkungen mehr. Der Wert ist immer block. Aufrufe von set() und clear() werden ignoriert.