Hey @BenjaminHD
Hmmm, lass uns das weiter mit einer
durchgehen. Letztendlich kann es sein, dass es sich hier um einen Hard Limit der Customer Privacy App handelt, aber
wir uns das weiter an.
ISt dein Event Listener für den Link möglicherweise nicht funktionsfähig weil der Link zum Zeitpunkt des Ausführens des Scripts noch nicht im DOM vorhanden ist? Wird dein Script im <head>
des Dokuments korrekt geladen oder bevor der Link im DOM gerendert wird? Vielleicht anstatt den Event-Listener direkt an den Link zu binden, ihn an ein Parent Element binden (z.B. document.body
), und prüfen, ob das geklickte Element der spezifische Link ist? Das könnte wie folgt aussehen:
document.addEventListener('DOMContentLoaded', function() {
document.body.addEventListener('click', function(e) {
if (e.target && e.target.matches('a[href="#CookieConsentReload"]')) {
e.preventDefault();
console.log("Link wurde geklickt");
showCookieBanner();
}
});
});
Die von dir verwendete Shopify.customerPrivacy.currentVisitorConsent()
Methode scheint korrekt zu sein, um den aktuellen Zustand der Zustimmung zu überprüfen und auch die Logik zum Anzeigen des Banners basierend auf dieser Zustimmung.
Hier ein paar weitere Infos die ich aus unseren Developer Docs entnommen habe:
Um die Customer Privacy API zu verwenden, musst du sie zunächst mit der loadFeatures
-Methode von Shopify laden. Dies ermöglicht es dir, die API-Funktionen nach dem Laden zu nutzen, wie das Registrieren von Benutzereinwilligungen oder das Abfragen von Datenverarbeitungsberechtigungen.
Du kannst die setTrackingConsent
-Methode verwenden, um die Zustimmung des Benutzers zu verschiedenen Tracking-Kategorien (wie Präferenzen, Analytik, Marketing) zu registrieren. Um die aktuelle Zustimmung eines Besuchers zu überprüfen, bietet die API die currentVisitorConsent
-Methode, mit der du bestimmen kannst, ob und welche Zustimmungen erteilt wurden.
Oder versuchst du einen benutzerdefinierten Banner zu erstellen, das auf die spezifischen Anforderungen deines Shops und die rechtlichen Anforderungen reagiert? Wenn nicht, vielleicht kannst du das hiermit lösen:
Hoffe das hilft dir weiter - lass wissen falls nicht! 