• Super User

    Script per Cookie Policy per Sito Statico Html5

    Ho un problema con un sito statico realizzato in Html5, sto utilizzando lo script di cookiechoices[.]org ma così facendo mi mostra il "banner" per accettare i cookie ogni volta che apro una pagina diversa del sito e quindi diventa ingestibile la cosa...

    Quale suggerimento/aiuto?

    Grazie in anticipo


  • User Attivo

    Ciao LorenzoRoma,
    la cosa mi sembra strana: non è che il tuo browser è impostato per non accettare i cookie, quindi ogni volta che ricarichi la pagina, o vai su un'altra, si ripresenta il messaggio perché non lo trova memorizzato?

    Altro possibile caso è che non siano stati caricati tutti i file oppure i percorsi per raggiungerli non sono corretti.

    Ho visto alcuni siti che lo hanno adottato e mi sembra che funzioni correttamente.

    Facci sapere.


  • Super User

    Può dipendere dal fatto che lo script è caricato in un include all'interno di un altro include? :bho:


  • User Attivo

    LorenzoRoma, non lo escluderei perché gli include con PHP in alcuni casi potrebbero avere degli effetti collaterali, mi sembra proprio con gli URL.
    La prima soluzione che mi viene in mente è quello di salvare il codice JS nella cartella della DocumentRoot (contiene l'index.* della home page), e poi mettere un indirizzo assoluto.
    Se utilizzi jQuery mi sembra che qualcuno abbia posto del codice, se vuoi te lo cerco.

    P.S. Ipotizzo che il tuo sito sia di secondo livello, altrimenti se fosse di 3° fornito da uno spazio gratuito l'indirizzo della DocumentRoot potrebbe non coincidere con quello in cui risiede l'index.* della home page.


  • Super User

    Allora... il sito ha pagine .php a cui (tramite htaccess) viene eliminata l'estenzione .php (quindi ad esempio /pagina1.php viene rinominata in /pagina1/).
    Poi ci sono pagine .html su cui htaccess non fa nulla.

    Ho fatto alcune prove e...

    1. sulle pagine .html funziona
    2. su alcune pagine .php funziona
    3. NON FUNZIONA su pagine .php che hanno degli include (sia nell'head che nel body), ma la cosa strana è che non funziona neanche se inserisco lo script senza utilizzare gli include (cioè con include inserisco altre cose ma lo script è direttamente sul file .php).

    :bho:


  • User Attivo

    Dunque, ho scaricato l'archivio compresso dal sito menzionato nel post #1 e me lo sono studiato un po'. Forse ho capito il problema: stai cercando di includere il file “cookiechoices.js” mentre è sufficiente questo nelle varie pagine:

    [HTML]<script src='/cookiechoices.js'></script>[/HTML]

    Ovviamente il file cookiechoices.js si troverà nella DocumentRoot del sito.

    In definitiva copio (ho cambiato solo il 1° parametro con il “Messaggio avviso cookie” per ovvie ragioni dovrai personalizzarlo) quello che ha fatto un altro sito su cui funziona correttamente:

    [HTML]<script src='/cookiechoices.js'></script>
    <script>
    document.addEventListener('DOMContentLoaded', function(event) {
    cookieChoices.showCookieConsentBar('Messaggio avviso cookie', 'Chiudi ed accetta', 'La politica della Privacy', 'http :// www . dominio . it/disclaimer.htm');
    });
    </script>[/HTML]

    Ho trovato in quella posizione che dicevo il file JS. Suggerirei di mettere l'indirizzo assoluto verso il disclaimer almeno si evitano altri problemi...


  • Super User

    No, usavo "script src", non includevo lo script.

    Ho fatto tantissime prove... alla fine ho "capito" che il problema era la riscrittura delle pagine .php in pagine tipo dominio.ext/pagina/ tramite htaccess.

    Lasciando le pagine .php (con gli include) funziona, e funziona pure con lo script inserito in un include dove c'è lo script e poi subito dopo il menù principale.


  • User Attivo

    Sono felice che il problema sia sostanzialmente risolto. Peccato per i problemi che crea nelle pagine senza estensione.

    Nel frattempo ho trovato lo script che accennavo prima ( http://www.giorgiotave.it/forum/consulenza-legale/232978-cookie-law-chiarimenti-su-cookie-di-terze-parti-3.html#post1179374 ) penso che ci sia un piccolo errore di battitura nella penultima riga.
    Errata:

    jQuery(window).one("scroll",function(){cookieOk(); });

    Corrige:

    jQuery(window).on("scroll",function(){cookieOk(); });

    Quell'“.one” – permettimi di pensarlo – ma non mi torna.