Blocage de scripts
Agreely propose trois couches de blocage complémentaires. Chacune s'applique à un cas d'usage différent.
1. Blocage déclaratif : type="text/plain"
Convertissez vos balises de script tierces en remplaçant type="text/javascript"
(ou en l'absence du type) par type="text/plain" et en ajoutant l'attribut
data-agreely-category :
<!-- Avant (script exécuté immédiatement) -->
<script src="https://www.google-analytics.com/analytics.js"></script>
<!-- Après (script bloqué jusqu'à l'accord de la catégorie "analytique") -->
<script type="text/plain"
data-agreely-category="analytics"
src="https://www.google-analytics.com/analytics.js"></script>
La bannière remplace type="text/plain" par type="text/javascript" quand le
visiteur accorde la catégorie correspondante, ce qui déclenche l'exécution du
script. Elle préserve les nonces existants lors du déblocage.
Valeurs de catégorie
Valeur data-agreely-category |
Catégorie Agreely |
|---|---|
analytics |
Analytique |
marketing |
Marketing |
functional |
Fonctionnel |
Les scripts strictly_necessary n'ont pas besoin de cet attribut - ils
s'exécutent normalement sans blocage.
Exemples de balises fréquentes
<!-- Google Analytics (GA4 via gtag) -->
<script type="text/plain"
data-agreely-category="analytics"
src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX"></script>
<!-- Meta Pixel -->
<script type="text/plain"
data-agreely-category="marketing">
!function(f,b,e,v,n,t,s) { /* code Meta Pixel */ }(window, ...);
</script>
<!-- Hotjar -->
<script type="text/plain"
data-agreely-category="analytics">
(function(h,o,t,j,a,r){ /* code Hotjar */ })(window, ...);
</script>
<!-- Intercom (fonctionnel) -->
<script type="text/plain"
data-agreely-category="functional">
window.intercomSettings = { app_id: "XXXXXXXX" };
</script>
Conseil : la page d'installation dans le tableau de bord Agreely génère automatiquement les réécritures de vos balises à partir du balayage de votre site (les témoins détectés sont catégorisés et les balises correspondantes sont proposées en remplacement).
2. Espaces réservoirs d'iframes
Pour les iframes tiers (vidéos YouTube, widgets de carte, etc.), utilisez
data-agreely-src à la place de src. La bannière affiche un espace réservatoire
bilingue avec une invite d'acceptation par catégorie jusqu'à ce que le visiteur
accorde la catégorie :
<!-- Avant -->
<iframe src="https://www.youtube.com/embed/XXXXXXX"
width="560" height="315"></iframe>
<!-- Après -->
<iframe data-agreely-src="https://www.youtube.com/embed/XXXXXXX"
data-agreely-category="marketing"
width="560" height="315"></iframe>
L'espace réservatoire reprend les dimensions de l'iframe et propose le libellé bilingue de la catégorie. Quand le visiteur accepte, l'iframe se charge normalement.
3. Garde d'injection dynamique
Pour les scripts injectés par programmation (via appendChild, insertBefore,
etc.) depuis des hôtes de suivi connus, la bannière intercepte l'insertion dans
le DOM et la neutralise jusqu'à l'accord de la catégorie. Cette garde est
installée de façon synchrone dans le chargeur, avant même que la
configuration soit récupérée, afin de neutraliser les injections pendant le
temps de chargement.
La garde est applicable à une liste de base intégrée incluant les hôtes fréquents (google-analytics.com, googletagmanager.com, connect.facebook.net, doubleclick.net, hotjar.com, clarity.ms, etc.) et la complète avec les hôtes détectés par le balayage de votre site.
Limite honnête. La garde d'injection intercepte les méthodes DOM standard.
document.writeest hors de portée ; Consent Mode v2 en refus par défaut est le filet de sécurité pour ce cas.