Zum Inhalt

Javascript-APIs

CCM19 bietet mehrere Javascript-APIs, mit denen auf Funktionalitäten des Cookie-Managers zugegriffen und auf Benutzerinteraktionen reagiert werden kann.

Globales Objekt

Die direkten Steuerungsmöglichkeiten von CCM19 sind im globalen Javascript-Objekt CCM gebündelt:

Variable/Methode Typ Beschreibung
CCM.acceptedCookies string[] Liste der Namen aller akzeptierten Cookies.
CCM.acceptedEmbeddings [   {     id: string,     name: string,   }   , … ] Liste aller akzeptierten Embeddings. (ab Version 2020.10.28)
CCM.availableLocales() string[] Liste aktiver Sprachen – z. B. ['de_DE', 'en_US'] (ab Version 2022.03.24)
CCM.closeControlPanel() Schließt den Dialog zur Auswahl der zu akzeptierenden Zwecke.
CCM.closeWidget() Schließt den Cookie-Dialog.
CCM.consent boolean Gibt an, ob der Consent-Dialog geschlossen wurde.
CCM.crossDomainConsentString string Fragmentbezeichner zum manuellen Zusammensetzen einer URL für die Consent-Teilung. (ab Version 2020.10.14)
CCM.navigate(url[, replace[, navigateTop]]) Navigiert zu einer anderen URL (wie location.href = url), berücksichtigt dabei aber die Consent-Teilung. replace steuert, ob location.replace verwendet wird und navigateTop steuert, ob bei Frames die vollständige Seite navigiert wird. (ab Version 2020.10.14)
CCM.openControlPanel() Öffnet den Dialog zur Auswahl der zu akzeptierenden Zwecke.
CCM.openWidget() Öffnet den Cookie-Dialog erneut.
CCM.switchLocale(localeName) Wechselt die Sprache – siehe CCM.availableLocales()(ab Version 2022.03.24)
CCM.ucid ?string Die eindeutige Consent-ID, oder null, wenn noch kein Consent erteilt wurde.
CCM.version string Enthält die aktuelle CCM19-Version. (ab Version 2020.10.28)

Die Dialoge können alternativ auch über Links mit den Zielen #CCM.openWidget, #CCM.closeWidget, #CCM.openControlPanel und #CCM.closeControlPanel gesteuert werden.

Erweiterung für werbe- und trackingfreie Netzwerke

Sofern die Option "Meine Website ist Teil eines werbe- und trackingfreien Netzwerks" im Bereich Developer-Einstellungen > Frontend-Verhalten der Domain aktiv ist, sind folgende Endpunkte definiert und können im Frontend verwendet werden.

Die folgenden Endpunkte wurden mit der Version 2023.03.20 veröffentlicht und sind in älteren Versionen nicht verfügbar.

Variable/Methode Typ Beschreibung
CCM.denyAllPrivileges() Function Alias für CCM.revokeAllPrivileges().
CCM.grantAllPrivileges() Function Erlaube sämtliche Kategorien, Einbindungen, TCF-Anbieter etc. Diese Funktion setzt voraus, dass die vollständige Zustimmung durch den Seitenbesucher signalisiert wurde. In Abhängigkeit von CCM.requiresConsentUpdate kann eine erneute Zustimmung erforderlich sein. Bitte nur einmal pro Benutzerinteraktion aufrufen, nicht wiederholt pro Seitenaufruf.
CCM.revokeAllPrivileges() Function Lehne sämtliche Kategorien, Einbindungen, TCF-Anbieter etc. ab. Diese Funktion setzt voraus, dass dies durch den Seitenbesucher signalisiert wurde. Technisch notwendige Einbindungen werden weiterhin geladen. Bitte nur einmal pro Benutzerinteraktion aufrufen, nicht wiederholt pro Seitenaufruf.
CCM.requiresConsentUpdate boolean Signalisiert, dass CCM19 eine Aktualisierung der Consent-Einstellungen erwartet. Das bedeutet, dass entweder • noch kein Consent konfiguriert wurde (erster Seitenbesuch) oder • sich in der CCM19-Konfiguration etwas rechtlich Relevantes geändert hat oder • die festgelegte Gültigkeitsdauer abgelaufen ist. Dieser Wert sollte bei jedem Seitenaufruf überprüft und berücksichtigt werden.
CCM.tcf.enabled boolean Zeigt an, ob die Unterstützung für das IAB-Framework aktiv ist.
CCM.tcf.vendors Object.\string, Object> Das Objekt enthält pro Anbieter keine weiteren Informationen, sodass derzeit nur die Schlüssel interessant sind. Mit Object.keys(CCM.tcf.vendors) können die IDs aller aktiven Anbieter ausgelesen werden.

Da die obigen Schnittstellen nur verfügbar sind, wenn die entsprechende Option für werbe- und trackingfreie Netzwerke aktiv ist, sollte der Netzwerkbetreiber die Verfügbarkeit in seinem Code überprüfen, um den Zugriff auf undefinierte Eigenschaften zu verhindern. Der eigene Code sollte daher z. B. wie folgt eingeklammert werden.

if (typeof window.CCM == 'object' && typeof window.CCM.denyAllPrivileges == 'function') {
    // Option "Meine Website ist Teil eines werbe- und trackingfreien Netzwerks" ist aktiv
    // und der Zugriff auf die Eigenschaften kann erfolgen.
}
else {
    console.log('Bitte Option in CCM19 aktivieren.');
}

Javascript-Events

Einige Ereignisse in CCM19 werden zu CustomEvents auf dem window-Objekt abgebildet und mit window.addEventListener(…) kann darauf reagiert werden.

Event detail-Eigenschaft Beschreibung
ccm19CookieAccepted {   name: string,   code: string,   purpose: string,   mandatory: boolean, } Ein Cookie wurde durch den Nutzer akzeptiert. Dieses Event wird für jedes Cookie ausgelöst, das in den akzeptierten Zwecken gelistet ist.Diese Events erfolgen beim Erteilen des Consents durch den Besucher und werden bei jeden folgenden Seitenbesuch beim Laden der Seite wiederholt. Veraltet: Bitte auf ccm19EmbeddingAccepted umsteigen.
ccm19EmbeddingAccepted {   name: string,   code: string,   purpose: string,   mandatory: boolean, } Ein Embedding wurde durch den Nutzer akzeptiert. Diese Events erfolgen beim Erteilen des Consents durch den Besucher und werden für jeden Seitenaufruf wiederholt. (ab Version 2020.10.28)
ccm19WidgetClosed null Wird ausgelöst, sobald das letzte sichtbare CCM19-Widget-Element geschlossen wird. Dabei kann es sich um ein Resultat eines Klicks auf einen Speichern-Button handeln, der zum Schließen des Widgets führt.
ccm19WidgetOpened null Wird ausgelöst, sobald das erste CCM19-Widget-Element angezeigt wird. Dabei kann es sich um das initiale Öffnen beim Seitenaufruf oder auch um eine Interaktion zu einem späteren Zeitpunkt, z. B. über das Einstellungs-Icon, handeln.
ccm19WidgetLoaded null Wird ausgelöst, sobald CCM19 fertig initialisiert wurde.