JavaScript: inserire gli script che creano cookie di terze parti dopo il consenso dell'utente

Possiamo inserire gli script che generano cookie di terze parti con JavaScript dopo aver ricevuto il consenso da parte dell'utente.

La nostra soluzione consiste nell'inserire dinamicamente il codice JavaScript in un elemento script in head a seguito dell'accettazione da parte dell'utente dei cookie di terze parti.


<head>
    <script id="ga"></script>
</head>


'use strict';

// https://developers.google.com/analytics/devguides/collection/analyticsjs

const insertGA = target => {
    if(target === null || !target) {
        return false;
    }
    const gaScript = `(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
                        (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
                        m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
                        })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

                        ga('create', 'UA-XXXXX-Y', 'auto');
                        ga('send', 'pageview');`;
    target.textContent = gaScript;
};

Esempio d'uso:


document.querySelector('#accept-cookies').addEventListener('click', e => {
    e.preventDefault();
    insertGA(document.querySelector('#ga'));
}, false);

Usando la proprietà textContent forziamo il browser a reintepretare il frammento DOM interessato.

Torna su