Consentl mit React, Vue, Angular und anderen Single-Page-Apps
Setzen Sie den Consentl-Loader in die index.html, nicht in eine Komponente – für Single-Page-Apps mit Vite, Create React App oder der Angular CLI.
- Loader als erstes im <head>
- Ja
In einer Single-Page-App werden Komponenten für die Einwilligung zu spät eingebunden: Die
Standardwerte von Google Consent Mode und die vorherige Blockierung müssen greifen, bevor ein anderes
Skript läuft. Setzen Sie den Loader in die HTML-Einstiegsdatei als erstes Element im <head>,
synchron:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<script src="https://api.consentl.com/v1/loader.js?k=SITE_KEY&l=en"></script>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>My app</title>
</head>
<body>
<div id="root"></div>
<script type="module" src="/src/main.tsx"></script>
</body>
</html>
| Tool | Datei |
|---|---|
| Vite (React, Vue, Svelte, Solid) | index.html im Projektstamm |
| Create React App | public/index.html |
| Angular CLI | src/index.html |
In Ihrem App-Code
- Routenwechsel: nichts zu tun. Die Laufzeit bleibt geladen, die Auswahl ist im
First-Party-Cookie
consentlgespeichert, und zurückgehaltene Tags werden ohne Neuladen freigegeben. - Einstellungen erneut öffnen: Geben Sie an beliebiger Stelle
<a href="#consentl">Cookie settings</a>aus oder rufen Siewindow.Consentl?.open("prefs")über einen Button auf. Klicks werden aufdocumentverarbeitet, daher funktionieren auch später ausgegebene Elemente. - Eigene Statistiken oder Funktionen, die eine Einwilligung brauchen:
consentl:changewird bei jedem Seitenaufruf mit der aktuellen Auswahl und erneut bei jeder Änderung ausgelöst, starten Sie also alles nur einmal:
let started = false;
const maybeStart = (c) => {
if (c.analytics && !started) {
started = true;
startAnalytics();
}
};
document.addEventListener("consentl:change", (e) => maybeStart(e.detail));
if (window.Consentl) maybeStart(window.Consentl.get());
- Skripte, die Ihre App später einfügt, werden zurückgehalten, wenn sie einem bekannten Tracker (Tarif Business) oder einer Blockierungsregel aus dem Dashboard entsprechen. In den Tarifen Free und Pro prüfen Sie die Einwilligung wie oben in Ihrem Code.
- Tags, die in der
index.htmlselbst stehen, fordert der Browser vor der Einwilligung an; markieren Sie sie mittype="text/plain" data-consentl="…"(siehe Jede Website).
Prüfen, ob es funktioniert
Sehen Sie sich den Seitenquelltext der gebauten App an: Der Loader ist das erste <script> im
<head>. Folgen Sie dann den Prüfungen unter Jede Website.
Einschränkungen
- Laden Sie den Loader nicht aus einer Komponente und fügen Sie ihn bei der Navigation nicht erneut ein.
- Bei einem Sprachwechsel ohne vollständiges Neuladen bleibt das Banner bis zum nächsten Laden der Seite in seiner ersten Sprache.
- Wenn Sie eine Content Security Policy senden, erlauben Sie
https://api.consentl.com(siehe Jede Website).
Verwandte Anleitungen
Kommen Sie nicht weiter? Schreiben Sie an support@consentl.com – wir antworten an Werktagen auf Englisch.