Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Cookie variare data expiry

    Salve,
    ho uno script relativo ai cookie funzionante, con impostato la scadenza ad Un Anno, vorrei modificare la scadenza a Un Mese
    Ci ho perso il pomeriggio, ma le mie conoscenze son molto basiche, chiedo gentilmente se qualcuno può modificarmi la data "expiryDate" a un mese (ovvero 30 giorni).

    Grazie mille!

    Ecco l'intero codice:
    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.
     -PRIVACY-
     */
    
    
    (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;display:block;background-color:#fae4ab;font-family:verdana;font-size:13px;' +
              'margin:0; left:0; top:0; right:1px;padding:4px;z-index:1000;text-align:center; box-shadow:2px 3px 5px #999;';
    
    
          var cookieConsentElement = document.createElement('div');
          cookieConsentElement.id = cookieConsentId;
          cookieConsentElement.style.cssText = butterBarStyles;
          var elementiInfo = cookieText.split('<br>');
          for (var item in elementiInfo) {
          cookieConsentElement.appendChild(_createConsentText(elementiInfo[item]));
          if (item+1<elementiInfo.length)
          cookieConsentElement.appendChild(document.createElement('br'));
          }
    
    
          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;';
    
    
          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);
    La vita è una tempesta, prenderlo in .... è un lampo!
    Paolino

  2. #2
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,807
    non è farina del mio sacco...
    codice:
    function _saveUserPreference() {
        // Calcola la data di scadenza a 30 giorni da oggi.
        var expiryDate = new Date();
        // Aggiunge 30 giorni in millisecondi (30 giorni * 24 ore * 60 minuti * 60 secondi * 1000 millisecondi)
        expiryDate.setTime(expiryDate.getTime() + (30 * 24 * 60 * 60 * 1000));
        
        // Imposta il cookie con la nuova scadenza
        document.cookie = cookieName + '=y; expires=' + expiryDate.toGMTString() + '; path=/';
        
        // Ho aggiunto anche '; path=/' che è una buona pratica per assicurare che il cookie sia valido su tutto il dominio.
    }

  3. #3
    Quote Originariamente inviata da Vincent.Zeno Visualizza il messaggio
    non è farina del mio sacco...
    codice:
    function _saveUserPreference() {
        // Calcola la data di scadenza a 30 giorni da oggi.
        var expiryDate = new Date();
        // Aggiunge 30 giorni in millisecondi (30 giorni * 24 ore * 60 minuti * 60 secondi * 1000 millisecondi)
        expiryDate.setTime(expiryDate.getTime() + (30 * 24 * 60 * 60 * 1000));
        
        // Imposta il cookie con la nuova scadenza
        document.cookie = cookieName + '=y; expires=' + expiryDate.toGMTString() + '; path=/';
        
        // Ho aggiunto anche '; path=/' che è una buona pratica per assicurare che il cookie sia valido su tutto il dominio.
    }
    Grazie mille!
    Il '; path=/' avevo letto che era consigliabile inserirlo.
    Ho inserito il tutto, poi l'ho provato: on-line sembra ok (nel senso che cliccando "Chiudi" non mi appare più), in locale invece facendo il refresh mi riappare sempre cmq. Ho provato anche a spostare in avanti di oltre un mese la data del Pc (per vedere on-line se mi riappare il banner cookie, ma niente).
    C'è un modo per testare se funziona?
    Grazie per la pazienza
    La vita è una tempesta, prenderlo in .... è un lampo!
    Paolino

  4. #4
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,807
    edit: post errato

  5. #5
    Quote Originariamente inviata da Vincent.Zeno Visualizza il messaggio
    edit: post errato
    Scusa? Cosa vuol dire?
    La vita è una tempesta, prenderlo in .... è un lampo!
    Paolino

  6. #6
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,807
    Quote Originariamente inviata da Poulo
    Scusa? Cosa vuol dire?
    esattamente quello che ho scritto: ho editato perché avevo scritto in post errato

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.