Consentl met React, Vue, Angular en andere single-page apps
Plaats de Consentl-loader in index.html, niet in een component, bij single-page apps die zijn gebouwd met Vite, Create React App of de Angular CLI.
- Loader als eerste in <head>
- Ja
In een single-page app worden componenten te laat gemount voor toestemming: de standaardwaarden van Google Consent Mode en de voorafgaande
blokkering moeten actief zijn voordat een ander script wordt uitgevoerd. Plaats de loader in het HTML-startbestand als het
eerste element in <head>, synchroon:
<!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 | Bestand |
|---|---|
| Vite (React, Vue, Svelte, Solid) | index.html in de hoofdmap van het project |
| Create React App | public/index.html |
| Angular CLI | src/index.html |
In uw appcode
- Routewijzigingen: niets te doen. De runtime blijft geladen, de keuze wordt opgeslagen in de
first-party cookie
consentlen tegengehouden tags worden zonder herladen vrijgegeven. - De voorkeuren opnieuw openen: render ergens
<a href="#consentl">Cookie settings</a>, of roepwindow.Consentl?.open("prefs")aan vanuit een knop. Klikken worden opdocumentafgehandeld, dus elementen die later worden gerenderd, werken ook. - Uw eigen analyse of functies die toestemming vereisen:
consentl:changewordt bij elke paginaweergave geactiveerd met de huidige keuzes en opnieuw bij elke wijziging, dus start dingen maar één keer:
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());
- Scripts die uw app later invoegt, worden tegengehouden als ze overeenkomen met een bekende tracker (plan Business) of een blokkeerregel uit het dashboard. Bij Free en Pro controleert u de toestemming in uw code zoals hierboven.
- Tags die in
index.htmlzelf staan, worden door de browser vóór de toestemming opgevraagd; markeer ze mettype="text/plain" data-consentl="…"(zie Elke website).
Controleren of het werkt
Bekijk de paginabron van de gebouwde app: de loader is het eerste <script> in <head>. Volg daarna
de controles in Elke website.
Beperkingen
- Laad de loader niet vanuit een component en voeg hem bij navigatie niet opnieuw in.
- Bij een taalwissel zonder volledig herladen blijft de banner in zijn eerste taal tot de volgende keer dat de pagina wordt geladen.
- Als u een Content Security Policy verstuurt, sta dan
https://api.consentl.comtoe (zie Elke website).
Gerelateerde handleidingen
Vastgelopen? Schrijf naar support@consentl.com — wij antwoorden op werkdagen in het Engels.