Consentl avec React, Vue, Angular et d’autres applications monopages
Placez le chargeur Consentl dans index.html, et non dans un composant, pour les applications monopages créées avec Vite, Create React App ou Angular CLI.
- Chargeur en premier dans <head>
- Oui
Dans une application monopage, les composants sont montés trop tard pour le consentement : les valeurs par défaut de Google Consent Mode et le blocage
préalable doivent être en place avant l’exécution de tout autre script. Placez le chargeur dans le fichier HTML d’entrée comme
premier élément dans <head>, de manière synchrone :
<!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>
| Outil | Fichier |
|---|---|
| Vite (React, Vue, Svelte, Solid) | index.html à la racine du projet |
| Create React App | public/index.html |
| Angular CLI | src/index.html |
Dans le code de votre application
- Changements de route : rien à faire. L’environnement d’exécution reste chargé, le choix est enregistré dans le
cookie propriétaire
consentlet les balises bloquées sont libérées sans rechargement. - Rouvrir les préférences : affichez
<a href="#consentl">Cookie settings</a>n’importe où, ou appelezwindow.Consentl?.open("prefs")depuis un bouton. Les clics sont gérés surdocument: les éléments affichés ultérieurement fonctionnent donc aussi. - Vos propres outils de mesure d’audience ou fonctionnalités qui nécessitent le consentement :
consentl:changese déclenche à chaque affichage de page avec les choix actuels, puis à chaque modification : ne démarrez donc les choses qu’une seule fois :
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());
- Les scripts que votre application insère ultérieurement sont bloqués lorsqu’ils correspondent à un traceur connu (forfait Business) ou à une règle de blocage du tableau de bord. Avec Free et Pro, vérifiez le consentement dans votre code comme ci-dessus.
- Les balises écrites dans
index.htmllui-même sont demandées par le navigateur avant le consentement ; marquez-les avectype="text/plain" data-consentl="…"(voir Tout site web).
Vérifier le fonctionnement
Affichez le code source de l’application générée : le chargeur est le premier <script> dans <head>. Suivez ensuite
les vérifications de Tout site web.
Limites
- Ne chargez pas le chargeur depuis un composant et ne l’injectez pas à nouveau lors de la navigation.
- Un changement de langue sans rechargement complet conserve la bannière dans sa première langue jusqu’au prochain chargement de page.
- Si vous envoyez une Content Security Policy, autorisez
https://api.consentl.com(voir Tout site web).
Guides associés
Vous êtes bloqué ? Écrivez à support@consentl.com — nous répondons en anglais les jours ouvrables.