chrome.contentSettings

Beschreibung

Mit der chrome.contentSettings API kannst du Einstellungen ändern, um festzulegen, ob Websites Funktionen wie Cookies, JavaScript und Plug-ins verwenden dürfen. Allgemein gesagt, können Sie das Verhalten von Chrome mithilfe der Inhaltseinstellungen für einzelne Websites und nicht global anpassen.

Berechtigungen

contentSettings

Du musst die Berechtigung "contentSettings" im Manifest deiner Erweiterung deklarieren, um die API verwenden zu können. Beispiel:

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

Konzepte und Verwendung

Muster für die Inhaltseinstellung

Mithilfe von Mustern können Sie die Websites angeben, auf die sich die jeweiligen Inhaltseinstellungen auswirken. Beispiel: https://*.youtube.com/* gibt youtube.com und alle zugehörigen Subdomains an. Die Syntax für Inhalte Das Festlegen von Mustern ist mit einigen Unterschieden identisch mit denen für Übereinstimmungsmuster:

  • Bei URLs vom Typ http, https und ftp muss der Pfad ein Platzhalter (/*) sein. Für file-URLs ist der Pfad muss vollständig angegeben werden und dürfen keine Platzhalter enthalten.
  • Im Gegensatz zu Abgleichsmustern kann mit Inhaltseinstellungsmustern eine Portnummer angegeben werden. Wenn ein Anschluss Nummer angegeben ist, stimmt das Muster nur mit Websites mit diesem Anschluss überein. Wenn keine Portnummer stimmt das Muster mit allen Ports überein.

Mustervorrang

Wenn für eine bestimmte Website mehrere Regeln zur Inhaltseinstellung gelten, wird die Regel mit der spezifischeren Regelung Muster hat Vorrang.

Die folgenden Muster sind beispielsweise nach Priorität geordnet:

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

Es gibt drei Arten von Platzhaltern, die 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/*)

Ist ein Muster an einem Teil spezifischer als ein anderes Muster, aber an einem anderen weniger spezifisch, werden die verschiedenen Teile in der folgenden Reihenfolge geprüft: Hostname, Schema, Port. Beispiel: Der Parameter Die folgenden Muster sind nach Priorität geordnet:

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

Primäre und sekundäre Muster

Welche URL bei der Auswahl der Inhaltseinstellung berücksichtigt wird, hängt vom Inhaltstyp ab. Für contentSettings.notifications basieren die Einstellungen beispielsweise auf der URL, die im Omnibox. Diese URL wird als „primäre“ URL bezeichnet. URL

Bei einigen Inhaltstypen können zusätzliche URLs berücksichtigt werden. Ob eine Website zum Beispiel contentSettings.cookies wird anhand der URL der HTTP-Anfrage festgelegt (die primäre URL) sowie die in der Omnibox angezeigten URL, die als "sekundäre" URL bezeichnet wird, URL).

Wenn mehrere Regeln ein primäres und sekundäres Muster haben, wird die Regel mit dem spezifischeren primären Muster hat Vorrang. Wenn es mehrere Regeln mit demselben primären Muster gibt, wird die Regel mit dem hat Vorrang vor einem spezifischeren sekundären Muster. Die folgende Liste von Primäre/sekundäre Musterpaare sind nach Priorität geordnet:

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

Mithilfe von Ressourcenkennungen können Sie Inhaltseinstellungen für bestimmte Untertypen eines Inhaltstyps festlegen. Derzeit ist contentSettings.plugins der einzige Inhaltstyp, der Ressourcenkennungen unterstützt. wobei ein Ressourcen-Identifikator ein bestimmtes Plug-in identifiziert. Wenn Sie Inhaltseinstellungen anwenden, müssen Sie zuerst für das jeweilige Plug-in ausgewählt sind. Wenn keine Einstellungen für einen bestimmten sind die allgemeinen Inhaltseinstellungen für Plug-ins aktiviert.

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

Sie können eine Liste mit Ressourcenkennungen für einen Inhaltstyp abrufen, indem Sie die Methode contentSettings.ContentSetting.getResourceIdentifiers()-Methode. Die zurückgegebene Liste kann sich ändern mit die Anzahl der installierten Plug-ins auf dem Gerät des Nutzers, Chrome versucht jedoch, die IDs stabil zu halten für Plug-in-Updates.

Beispiele

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

Typen

AutoVerifyContentSetting

Chrome 113 und höher

Enum

"Zulassen"

"block"

CameraContentSetting

Chrome (ab Version 46)

Enum

"Zulassen"

"block"

"fragen"

ClipboardContentSetting

Chrome 121 oder höher

Enum

"Zulassen"

"block"

"fragen"

ContentSetting

Attribute

  • löschen

    voidm

    <ph type="x-smartling-placeholder"></ph> Versprechen

    Alle von dieser Erweiterung festgelegten Regeln zur Inhaltseinstellung löschen.

    Die Funktion clear sieht so aus: <ph type="x-smartling-placeholder"></ph>

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

    • Details

      Objekt

      • Bereich

        Umfang optional

        Ort, an dem die Einstellung gelöscht werden soll (Standardeinstellung: Normal)

    • callback

      Funktion optional

      Der Parameter callback sieht so aus: <ph type="x-smartling-placeholder"></ph>

      () => void

    • Gibt zurück

      Versprechen<void>

      Chrome 96 und höher

      Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks sind jedoch für Abwärtskompatibilität. Sie können nicht beide in demselben Funktionsaufruf verwenden. Die Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.

  • get

    voidm

    <ph type="x-smartling-placeholder"></ph> Versprechen

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

    Die Funktion get sieht so aus: <ph type="x-smartling-placeholder"></ph>

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

    • Details

      Objekt

      • inkognito

        Boolescher Wert optional

        Gibt an, ob die Inhaltseinstellungen für eine Inkognitositzung überprü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 spezifischere 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

      Funktion optional

      Der Parameter callback sieht so aus: <ph type="x-smartling-placeholder"></ph>

      (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&lt;object&gt;

      Chrome 96 und höher

      Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks sind jedoch für Abwärtskompatibilität. Sie können nicht beide in demselben Funktionsaufruf verwenden. Die Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.

  • getResourceIdentifiers

    voidm

    <ph type="x-smartling-placeholder"></ph> Versprechen

    Die Funktion getResourceIdentifiers sieht so aus: <ph type="x-smartling-placeholder"></ph>

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

    • callback

      Funktion optional

      Der Parameter callback sieht so aus: <ph type="x-smartling-placeholder"></ph>

      (resourceIdentifiers?: ResourceIdentifier[]) => void

      • resourceIdentifiers

        ResourceIdentifier[] optional

        Eine Liste von Ressourcen-IDs für diesen Inhaltstyp oder undefined, wenn dieser Inhaltstyp keine Ressourcen-IDs verwendet.

    • Gibt zurück
      Chrome 96 und höher

      Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks sind jedoch für Abwärtskompatibilität. Sie können nicht beide in demselben Funktionsaufruf verwenden. Die Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.

  • set

    voidm

    <ph type="x-smartling-placeholder"></ph> Versprechen

    Wendet eine neue Regel zur Inhaltseinstellung an.

    Die Funktion set sieht so aus: <ph type="x-smartling-placeholder"></ph>

    (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 zur Inhaltseinstellung.

      • resourceIdentifier

        Die Ressourcen-ID für den Inhaltstyp.

      • Bereich

        Umfang optional

        Einstellung, wo die Einstellung festgelegt werden soll (Standardeinstellung: Normal)

      • secondaryPattern

        String optional

        Das Muster für die sekundäre URL. Die Standardeinstellung ist eine Übereinstimmung mit allen URLs. Weitere Informationen zum Format eines Musters finden Sie unter Muster zur Inhaltseinstellung.

      • Einstellung

        beliebig

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

    • callback

      Funktion optional

      Der Parameter callback sieht so aus: <ph type="x-smartling-placeholder"></ph>

      () => void

    • Gibt zurück

      Versprechen<void>

      Chrome 96 und höher

      Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks sind jedoch für Abwärtskompatibilität. Sie können nicht beide in demselben Funktionsaufruf verwenden. Die Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.

CookiesContentSetting

Chrome (ab Version 44)

Enum

"Zulassen"

"block"

&quot;session_only&quot;

FullscreenContentSetting

Chrome (ab Version 44)

Wert

"Zulassen"

ImagesContentSetting

Chrome (ab Version 44)

Enum

"Zulassen"

"block"

JavascriptContentSetting

Chrome (ab Version 44)

Enum

"Zulassen"

"block"

LocationContentSetting

Chrome (ab Version 44)

Enum

"Zulassen"

"block"

"fragen"

MicrophoneContentSetting

Chrome (ab Version 46)

Enum

"Zulassen"

"block"

"fragen"

MouselockContentSetting

Chrome (ab Version 44)

Wert

"Zulassen"

MultipleAutomaticDownloadsContentSetting

Chrome (ab Version 44)

Enum

"Zulassen"

"block"

"fragen"

NotificationsContentSetting

Chrome (ab Version 44)

Enum

"Zulassen"

"block"

"fragen"

PluginsContentSetting

Chrome (ab Version 44)

Wert

"block"

PopupsContentSetting

Chrome (ab Version 44)

Enum

"Zulassen"

"block"

PpapiBrokerContentSetting

Chrome (ab Version 44)

Wert

"block"

ResourceIdentifier

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

Attribute

  • Beschreibung

    String optional

    Eine menschenlesbare Beschreibung der Ressource.

  • id

    String

    Die Ressourcen-ID für den angegebenen Inhaltstyp.

Scope

Chrome (ab Version 44)

Der Bereich von ContentSetting. Eine von 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 Inkognitoprofile, die nur während einer Inkognitositzung festgelegt werden können und am Ende der Inkognitositzung gelöscht wird. Die normalen Einstellungen werden damit überschrieben.

Enum

"Normal"

"Inkognito_session_only"

Attribute

automaticDownloads

Gibt an, ob Websites automatisch mehrere Dateien herunterladen dürfen. Eine von allow: Websites erlauben, automatisch mehrere Dateien herunterzuladen, block: Websites dürfen nicht automatisch mehrere Dateien herunterladen, ask: Nachfragen, wenn eine Website Dateien nach der ersten Datei automatisch 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 von allow: Websites erlauben, die Private State Tokens API zu verwenden block: Websites daran hindern, die Private State Tokens API zu verwenden. Der Standardwert ist allow. Die primäre URL ist die URL des Frames auf oberster Ebene. Die sekundäre URL wird nicht verwendet. HINWEIS: Beim Aufrufen von set() muss das primäre Muster sein .

camera

Chrome (ab Version 46)

Gibt an, ob Websites auf die Kamera zugreifen dürfen. Eine von allow: Websites den Zugriff auf die Kamera erlauben block: Websites dürfen nicht auf die Kamera zugreifen, ask: Nachfragen, 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: Das "Zulassen" ist ungültig, wenn beide Muster ein ' sind.

clipboard

Chrome 121 oder höher

Gibt an, ob Websites über die erweiterten Funktionen der Async Clipboard API auf die Zwischenablage zugreifen dürfen. „Erweitert“ Zu den Funktionen gehören nicht nur das Schreiben von integrierten Formaten nach einer Nutzergeste, z.B. die Möglichkeit zum Lesen, das Schreiben benutzerdefinierter Formate und die Möglichkeit, ohne Nutzergeste zu schreiben. Eine von allow: Websites erlauben, erweiterte Funktionen für die Zwischenablage zu verwenden block: Websites dürfen keine erweiterten Funktionen für die Zwischenablage verwenden, ask: Nachfragen, wenn eine Website erweiterte Funktionen für die 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 Cookies und andere lokale Daten von Websites gespeichert werden dürfen. Eine von allow: Cookies akzeptieren, block: Cookies blockieren, session\_only: Nur Cookies für die aktuelle Sitzung werden akzeptiert. Der Standardwert ist allow. Die primäre URL ist die URL, die den Ursprung des Cookies darstellt. Die sekundäre URL ist die URL des Frames auf oberster Ebene.

fullscreen

Veraltet. Dies hat keine Auswirkungen mehr. Die Vollbildberechtigung wird jetzt automatisch für alle Websites gewährt. Der Wert ist immer allow.

images

Legt fest, ob Bilder angezeigt werden. Eine von allow: Bilder anzeigen, block: Keine Bilder 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. Eine von allow: JavaScript ausführen, block: Kein JavaScript 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 von allow: Erlauben Sie Websites, Ihren physischen Standort zu erfassen. block: Websites dürfen nicht meinen physischen Standort abrufen, ask: Fragen Sie nach, bevor Sie Websites erlauben, Ihren physischen Standort zu verfolgen. Der Standardwert ist ask. Die primäre URL ist die URL des Dokuments, das Standortdaten angefordert hat. Bei der sekundären URL handelt es sich um die URL des Frames auf oberster Ebene, die sich von der anfragenden URL unterscheiden kann oder nicht.

microphone

Chrome (ab Version 46)

Gibt an, ob Websites auf das Mikrofon zugreifen dürfen. Eine von allow: Websites erlauben, auf das Mikrofon zuzugreifen block: Websites dürfen nicht auf das Mikrofon zugreifen ask: Nachfragen, wenn eine Website auf das Mikrofon zugreifen möchte Der Standardwert ist ask. Die primäre URL ist die URL des Dokuments, das den Mikrofonzugriff angefordert hat. Die sekundäre URL wird nicht verwendet. HINWEIS: Das "Zulassen" ist ungültig, wenn beide Muster ein ' sind.

mouselock

Veraltet. Dies hat keine Auswirkungen mehr. Die Berechtigung zur 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 von allow: Websites erlauben, Desktop-Benachrichtigungen anzuzeigen block: Websites dürfen keine Desktopbenachrichtigungen anzeigen, ask: Nachfragen, 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. Anrufe an set() und clear() werden ignoriert.

popups

Gibt an, ob Websites Pop-ups anzeigen dürfen. Eine von allow: Websites dürfen Pop-ups anzeigen, block: Websites dürfen keine Pop-ups anzeigen. 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. Bisher wurde kontrolliert, ob Websites Plug-ins ohne Sandbox ausführen dürfen. Nachdem der Flash Broker-Prozess in Chrome 88 entfernt wurde, hat diese Berechtigung jedoch keine Wirkung mehr. Der Wert ist immer block. Anrufe an set() und clear() werden ignoriert.