Consentl cu Astro
Adăugați scriptul de încărcare Consentl în layoutul de bază Astro cu is:inline, ca să nu fie inclus într-un modul amânat. Funcționează cu view transitions.
- Scriptul de încărcare primul în <head>
- Da
Scriptul de încărcare trebuie să fie primul script din <head> și sincron. În Astro,
is:inline este obligatoriu: fără el, Astro include scriptul într-un modul amânat (deferred).
Testat cu Astro 6.4 pe Node 22. Astro 7 necesită Node 22.23.4 sau o versiune ulterioară și nu a fost încă testat.
Layoutul de bază
---
// src/layouts/BaseLayout.astro
const { lang = "en", title } = Astro.props;
const SITE_KEY = import.meta.env.PUBLIC_CONSENTL_SITE_KEY;
if (!SITE_KEY) throw new Error("Set PUBLIC_CONSENTL_SITE_KEY to your Consentl site key (sk_…)");
const loader = `https://api.consentl.com/v1/loader.js?k=${encodeURIComponent(SITE_KEY)}&l=${encodeURIComponent(lang)}`;
---
<html lang={lang}>
<head>
<meta charset="utf-8" />
<script is:inline src={loader}></script>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>{title}</title>
</head>
<body>
<slot />
<footer><a href="#consentl">Cookie settings</a></footer>
</body>
</html>
Verificarea SITE_KEY face ca build-ul să eșueze atunci când variabila de mediu lipsește, în loc
să publice k=undefined.
View transitions
Cu <ClientRouter />, Astro înlocuiește corpul paginii la fiecare navigare. Bannerul, pictograma
plutitoare și linkurile „Setări cookie-uri” continuă să funcționeze după fiecare înlocuire. Păstrați
aceeași adresă a scriptului de încărcare pe toate paginile (același l= pentru o limbă), astfel
încât Astro să nu îl ruleze din nou, și nu îi adăugați data-astro-rerun.
Verificați că funcționează
Vizualizați sursa paginii: scriptul de încărcare este primul <script> din <head>. Apoi urmați
verificările din Orice site.
Consent Mode necesită planul Pro sau unul superior, iar blocarea automată a trackerelor cunoscute
planul Business; în planul Free, doar etichetele pe care le marcați dumneavoastră așteaptă
consimțământul. Etichetele scrise în HTML-ul paginii sunt solicitate înainte de consimțământ, cu
excepția cazului în care le marcați cu type="text/plain" data-consentl="…" (consultați
Orice site).
Limitări
- Integrările care injectează scripturi deasupra conținutului
<head>din layout rulează înaintea Consentl. - Dacă trimiteți o Content Security Policy, permiteți
https://api.consentl.com(consultați Orice site).
Ghiduri conexe
V-ați blocat? Scrieți-ne la support@consentl.com — răspundem în limba engleză, în zilele lucrătoare.