Visualizzazione risultati 1 fino 13 di 13

Discussione: Problema banner accetazione cookie

  1. #1
    Guest

    Predefinito Problema banner accetazione cookie

    Salve a tutti è da molti mesi che ho implementato il banner per l'accetazione dei cookie ha sempre funzionato(forse perchè prima avevo un'altro tema) di recente però ho notato che in questo nuovo tema (un child fatto partendo dall'arras) non si visualizza nessun banner ed è strano i codici da me inseriti nei file del mio tema sono i seguenti



    Questo è il file js inserito nel mio sito con filezilla



    Codice:
    /*
     Copyright 2014 Google Inc. All rights reserved.
    
     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at
    
     http://www.apache.org/licenses/LICENSE-2.0
    
     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
     */
    
    (function(window) {
    
      if (!!window.cookieChoices) {
        return window.cookieChoices;
      }
    
      var document = window.document;
      // IE8 does not support textContent, so we should fallback to innerText.
      var supportsTextContent = 'textContent' in document.body;
    
      var cookieChoices = (function() {
    
        var cookieName = 'displayCookieConsent';
        var cookieConsentId = 'cookieChoiceInfo';
        var dismissLinkId = 'cookieChoiceDismiss';
    
        function _createHeaderElement(cookieText, dismissText, linkText, linkHref) {
          var butterBarStyles = 'position:fixed;width:100%;background-color:#eee;' +
              'margin:0; left:0; top:0;padding:4px;z-index:1000;text-align:center;';
    
          var cookieConsentElement = document.createElement('div');
          cookieConsentElement.id = cookieConsentId;
          cookieConsentElement.style.cssText = butterBarStyles;
          cookieConsentElement.appendChild(_createConsentText(cookieText));
    
          if (!!linkText && !!linkHref) {
            cookieConsentElement.appendChild(_createInformationLink(linkText, linkHref));
          }
          cookieConsentElement.appendChild(_createDismissLink(dismissText));
          return cookieConsentElement;
        }
    
        function _createDialogElement(cookieText, dismissText, linkText, linkHref) {
          var glassStyle = 'position:fixed;width:100%;height:100%;z-index:999;' +
              'top:0;left:0;opacity:0.5;filter:alpha(opacity=50);' +
              'background-color:#ccc;';
          var dialogStyle = 'z-index:1000;position:fixed;left:50%;top:50%';
          var contentStyle = 'position:relative;left:-50%;margin-top:-25%;' +
              'background-color:#fff;padding:20px;box-shadow:4px 4px 25px #888;';
    
          var cookieConsentElement = document.createElement('div');
          cookieConsentElement.id = cookieConsentId;
    
          var glassPanel = document.createElement('div');
          glassPanel.style.cssText = glassStyle;
    
          var content = document.createElement('div');
          content.style.cssText = contentStyle;
    
          var dialog = document.createElement('div');
          dialog.style.cssText = dialogStyle;
    
          var dismissLink = _createDismissLink(dismissText);
          dismissLink.style.display = 'block';
          dismissLink.style.textAlign = 'right';
          dismissLink.style.marginTop = '8px';
    
          content.appendChild(_createConsentText(cookieText));
          if (!!linkText && !!linkHref) {
            content.appendChild(_createInformationLink(linkText, linkHref));
          }
          content.appendChild(dismissLink);
          dialog.appendChild(content);
          cookieConsentElement.appendChild(glassPanel);
          cookieConsentElement.appendChild(dialog);
          return cookieConsentElement;
        }
    
        function _setElementText(element, text) {
          if (supportsTextContent) {
            element.textContent = text;
          } else {
            element.innerText = text;
          }
        }
    
        function _createConsentText(cookieText) {
          var consentText = document.createElement('span');
          _setElementText(consentText, cookieText);
          return consentText;
        }
    
        function _createDismissLink(dismissText) {
          var dismissLink = document.createElement('a');
          _setElementText(dismissLink, dismissText);
          dismissLink.id = dismissLinkId;
          dismissLink.href = '#';
          dismissLink.style.marginLeft = '24px';
          return dismissLink;
        }
    
        function _createInformationLink(linkText, linkHref) {
          var infoLink = document.createElement('a');
          _setElementText(infoLink, linkText);
          infoLink.href = linkHref;
          infoLink.target = '_blank';
          infoLink.style.marginLeft = '8px';
          return infoLink;
        }
    
        function _dismissLinkClick() {
          _saveUserPreference();
          _removeCookieConsent();
          return false;
        }
    
        function _showCookieConsent(cookieText, dismissText, linkText, linkHref, isDialog) {
          if (_shouldDisplayConsent()) {
            _removeCookieConsent();
            var consentElement = (isDialog) ?
                _createDialogElement(cookieText, dismissText, linkText, linkHref) :
                _createHeaderElement(cookieText, dismissText, linkText, linkHref);
            var fragment = document.createDocumentFragment();
            fragment.appendChild(consentElement);
            document.body.appendChild(fragment.cloneNode(true));
            document.getElementById(dismissLinkId).onclick = _dismissLinkClick;
          }
        }
    
        function showCookieConsentBar(cookieText, dismissText, linkText, linkHref) {
          _showCookieConsent(cookieText, dismissText, linkText, linkHref, false);
        }
    
        function showCookieConsentDialog(cookieText, dismissText, linkText, linkHref) {
          _showCookieConsent(cookieText, dismissText, linkText, linkHref, true);
        }
    
        function _removeCookieConsent() {
          var cookieChoiceElement = document.getElementById(cookieConsentId);
          if (cookieChoiceElement != null) {
            cookieChoiceElement.parentNode.removeChild(cookieChoiceElement);
          }
        }
    
        function _saveUserPreference() {
          // Set the cookie expiry to one year after today.
          var expiryDate = new Date();
          expiryDate.setFullYear(expiryDate.getFullYear() + 1);
          document.cookie = cookieName + '=y; expires=' + expiryDate.toGMTString();
        }
    
        function _shouldDisplayConsent() {
          // Display the header only if the cookie has not been set.
          return !document.cookie.match(new RegExp(cookieName + '=([^;]+)'));
        }
    
        var exports = {};
        exports.showCookieConsentBar = showCookieConsentBar;
        exports.showCookieConsentDialog = showCookieConsentDialog;
        return exports;
      })();
    
      window.cookieChoices = cookieChoices;
      return cookieChoices;
    })(this);


    questo l'ho inserito prima di </body> nel file footer.php

    Codice:
     
    <script src=".../privacy_policy/cookiechoices.js"></script>
    <script>//<![CDATA[
    document.addEventListener('DOMContentLoaded', function(event) {
        cookieChoices.showCookieConsentBar('Questo sito si serve dei cookie per fornirvi servizi migliori. Cliccando su accetto i cookie  acconsenti all'utilizzo dei cookie.',
            'Accetto i cookie', 'Maggiori Informazioni',
                     'http://skysouls.altervista.org/blog/politica-dei-cookie-di-questo-sito/');
      });
    //]]></script>


    e infine ho inserito questo nel css del mio tema


    Codice:
    #cookieChoiceInfo {           /* Imposto le proprietà del banner/dialog box e caratteri del messaggio */
      background-color: #000;     /* Lo fondo è di colore nero (#000) */
    				 
      font-size: 16px;            /* i caratteri devono essere grandi 16 pixel */
      color: #DDD;                /* il colore dei caratteri è grigio chiaro (#DDD) */
      padding: 10px;              /* lo spazio intorno al messaggio (sopra, sotto e di lato) quindi il bordo dista 10 pixel */  
      opacity: .8;                /* questa proprietà modifica la trasparenza del banner/dialogbox */
    }
    #cookieInfoLink {                      
      color: #E00;                /* il testo del link che aprire la pagina della cookie policy è rosso (#E00)  */
      text-decoration: underline; /* questa proprietà indica che il testo del link è sottolineato  */
    }
    #cookieInfoLink:hover {       /* la parola hover, vicino al selettore, indica che le proprietà seguenti verranno applicate... */
                                  /* ... al link che conduce alla cookie policy solo quando il mouse ci passa sopra  */
      color: #F44;                /* il testo del link in questo caso diventa di un rosso più chiaro al passaggio del mouse...  */
      test-decoration:none;       /*   .... e allo stesso tempo il testo non sarà più sottolineato            */
    }
    #cookieChoiceDismiss {        /* Impostiamo per il link "accetto/ok/chiudi" le proprietà per renderlo... */
    			      /* ...visivamente come un pulsante */
      background-color: #0A0;     /* lo sfondo è verde (#0A0) */
      color: #FFF;                /* Il colore del testo è bianco (#FFF) */
      text-decoration: none;      /* Il testo non è sottolineato         */
      font-weight: 600;           /* Il testo è in grassetto             */
      font-size: 16px;
      padding: 3px 10px;          /* Imposto lo spazio tra i caratteri e il bordo del pulsante 2pixel sopra e sotto e 10px ai lati */
      border-radius:  3px;        /* Lo sfondo del pulsante ha i bordi arrotondati con un raggio di 3 pixel */
    }
    #cookieChoiceDismiss:hover {  /* Passando il mouse sopra il pulsante, questo cambia colore in verde chiaro. */
      background-color: #0F0;
    }

    Qualcuno sa dirmi dove sbaglio e perchè non appare il banner nel mio sito? grazie in anticipo a tutti!

  2. #2
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,744

    Predefinito

    Ma perché non usi più semplicemente la soluzione offerta da AlterVista in collaborazione con Iubenda?

  3. #3
    Guest

    Predefinito

    Citazione Originalmente inviato da karl94 Visualizza messaggio
    Ma perché non usi più semplicemente la soluzione offerta da AlterVista in collaborazione con Iubenda?
    Si lo so difatti ci avevo buttato un occhio ma non offre quello che cerco io nel senso che crea una pagina strutturata in un modo che a me non piace e visto l'utenza media del mio sito voglio usare il mio metodo con la mia paginina personalizzata quindi non è possibile capire dove sbaglio? o meglio perchè non funziona? :-/

  4. #4
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,744

    Predefinito

    Citazione Originalmente inviato da skysouls Visualizza messaggio
    Codice PHP:
    document.addEventListener('DOMContentLoaded', function(event) {
    cookieChoices.showCookieConsentBar('Questo sito si serve dei cookie per fornirvi servizi migliori. Cliccando su accetto i cookie acconsenti all'utilizzo dei cookie.',
    '
    Accetto i cookie', 'Maggiori Informazioni',
    '
    http://skysouls.altervista.org/blog/politica-dei-cookie-di-questo-sito/');
    });
    Osserva come viene colorato il codice: l'apostrofo che hai inserito viene interpretato come la terminazione della stringa.
    Ad ogni modo sappi che il codice di Iubenda è anch'esso personalizzabile.

  5. #5
    Guest

    Predefinito

    Quindi se ho capito bene devo sostituire l'apostrofo magari con le virgolette e il codice funziona senza problemi?

  6. #6
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,744

    Predefinito

    Potrebbero esserci anche altri errori, per adesso sistema quello e controlla se così funziona.

  7. #7
    Guest

    Predefinito

    Citazione Originalmente inviato da karl94 Visualizza messaggio
    Potrebbero esserci anche altri errori, per adesso sistema quello e controlla se così funziona.
    Okei perfetto ora sostituisco tutti gli apostrofi con le virgolette e vedo se funziona! :)

    EDIT: ho sostitutito gli apostrofi con le virgolette mettendo quindi tutto così
    Codice PHP:
    document.addEventListener("DOMContentLoaded", function(event) {
    cookieChoices.showCookieConsentBar('Questo sito si serve dei cookie per fornirvi servizi migliori. Cliccando su accetto i cookie acconsenti all'utilizzo dei cookie.',
    '
    Accetto i cookie', 'Maggiori Informazioni',
    '
    http://skysouls.altervista.org/blog/politica-dei-cookie-di-questo-sito/');
    });
    ma non va comunque cioè io non visualizzo nulla.
    Per caso gli apostrofi andavano sostituiti anche tra le paretesi tonde dopo cookieconsentbar?
    Ultima modifica di skysouls : 08-11-2015 alle ore 20.52.22

  8. #8
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,744

    Predefinito

    Citazione Originalmente inviato da skysouls Visualizza messaggio
    Okei perfetto ora sostituisco tutti gli apostrofi con le virgolette e vedo se funziona! :)

    EDIT: ho sostitutito gli apostrofi con le virgolette mettendo quindi tutto così
    Codice PHP:
    document.addEventListener("DOMContentLoaded", function(event) {
    cookieChoices.showCookieConsentBar('Questo sito si serve dei cookie per fornirvi servizi migliori. Cliccando su accetto i cookie acconsenti all'utilizzo dei cookie.',
    '
    Accetto i cookie', 'Maggiori Informazioni',
    '
    http://skysouls.altervista.org/blog/politica-dei-cookie-di-questo-sito/');
    });
    ma non va comunque cioè io non visualizzo nulla.
    Per caso gli apostrofi andavano sostituiti anche tra le paretesi tonde dopo cookieconsentbar?
    Il codice mi sembra identico al precedente, cosa hai cambiato?
    Il codice corretto è
    Codice PHP:
    document.addEventListener("DOMContentLoaded", function(event) {
    cookieChoices.showCookieConsentBar("Questo sito si serve dei cookie per fornirvi servizi migliori. Cliccando su accetto i cookie acconsenti all'utilizzo dei cookie.",
    'Accetto i cookie', 'Maggiori Informazioni',
    'http://skysouls.altervista.org/blog/politica-dei-cookie-di-questo-sito/');
    });
    Ultima modifica di karl94 : 09-11-2015 alle ore 19.18.34

  9. #9
    Guest

    Predefinito

    avevo solo sostituito le apostrofo di DOMContenetLoaded con le virgolette e basta ora provo con questo e vedo se funziona

    EDIT: ho messo il codice che mi hai corretto tu ma non mi compare lo stesso il banner ho provato con vari browser(Firefox, explorer e torch browser)
    Ultima modifica di skysouls : 09-11-2015 alle ore 18.50.57

  10. #10
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,744

    Predefinito

    Nel codice
    Codice HTML:
    <script src=".../privacy_policy/cookiechoices.js"></script>
    C'è un punto di troppo. La versione corretta è
    Codice HTML:
    <script src="../privacy_policy/cookiechoices.js"></script>

  11. #11
    Guest

    Predefinito

    Citazione Originalmente inviato da karl94 Visualizza messaggio
    Nel codice
    Codice HTML:
    <script src=".../privacy_policy/cookiechoices.js"></script>
    C'è un punto di troppo. La versione corretta è
    Codice HTML:
    <script src="../privacy_policy/cookiechoices.js"></script>
    Uhm.. è vero ora che mi ci fai pensare c'è un punto in più si vede che mi è sfuggito quando ho scritto il codice ora correggo e verifico se funziona :)

    EDIT: ora funziona alla perfezione e mi si visualizza! possiamo chiudere e modificare come risolto! ultima cosa io ho inserito il codice in footer.php però lo visualizzo nell'header è normale? cioè mi va benissimo che stia in alto ma volevo capire come mai appare li invece che nel footer
    Ultima modifica di skysouls : 09-11-2015 alle ore 22.04.11

  12. #12
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,744

    Predefinito

    Citazione Originalmente inviato da skysouls Visualizza messaggio
    ora funziona alla perfezione e mi si visualizza! possiamo chiudere e modificare come risolto! ultima cosa io ho inserito il codice in footer.php però lo visualizzo nell'header è normale? cioè mi va benissimo che stia in alto ma volevo capire come mai appare li invece che nel footer
    Sì, nel codice JavaScript viene specificato il posizionamento fisso in alto mediante CSS (riga 34). Il testo è però difficilmente leggibile, ti consiglierei di cambiare i colori.

  13. #13
    Guest

    Predefinito

    boh io ieri quando ho guardato se appariva si leggeva tutto bene la barra del banner aveva uno sfondo semi trasparente con la scritta bianca e il banner con l'okei era verde acido con la scritta bianca insomma si leggeva bene magari dopo verifico e vedo di mettere colori piàù adatti

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •