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

    Messagio con salvataggio stato in un Cookie

    Salve a tutti, sto cercando disperatamente (oddio, forse esagero un po) un aiuto per creare quanto segue:

    un normalissimo messagio (in un div) in una pagina (dove metto una breve frase di benvenuto) con a fianco un pulsante per chiuderlo, e fino a qui è semplice, solo che vorrei che salvasse lo stato di "chiuso" in un cookie così da non farlo riapparire magari il giorno dopo.... o comunque quando si apre il sito con quel pc

    chi mi può dare una mano perfavore? :master:

    Grazie

  2. #2

  3. #3
    Metà problema l'ho risolto, ho fatto un file javascript con questo codice:
    codice:
    var mjx = {
    
    	setCookie: function(name, value, expires) {
    		document.cookie = name + '=' + escape(value) + '; path=/' + (typeof expires != 'undefined' ? '; expires=' + expires.toGMTString() : '');
    	},
    	
    	deleteCookie: function(name) {
    		document.cookie = name + '=' + '; expires=Thu, 01-Jan-70 00:00:01 GMT' +  '; path=/';
    	},
    	
    	saveCookie: function(id, state) {
    		var set = mjx.getCookie('notice_creativebits');
    		var div = new Array();
    	
    		if (set != null) {
    			set = set.split('\n');
    	
    			for (var v in set) {
    				if (set[v] != id && set[v] != '') {
    					div[div.length] = set[v];
    				}
    			}
    		}
    	
    		if (state) {
    			div[div.length] = id;
    		}
    	
    		expires = new Date();
    		expires.setTime(expires.getTime() + (1000 * 86400 * 365));
    		mjx.setCookie('notice_creativebits', div.join('\n'), expires);
    	},
    	
    	getCookie: function(name) {
    		if (document.cookie.length > 0) {
    			start = document.cookie.indexOf(name + "=")
    		
    			if (start != -1) { 
    				start = start + name.length + 1 
    				end = document.cookie.indexOf(";",start)
    				
    				if (end == -1) 
    					end = document.cookie.length
    					return unescape(document.cookie.substring(start,end))
    			} 
    		}
    		return null
    	},
    	
    	toggle: function(id) {
    		var div = document.getElementById(id);
    		
    		if(div.style.display == 'none') {
    			mjx.saveCookie(id, false);
    			div.style.display = 'block';	
    		} else{
    			mjx.saveCookie(id, true);
    			div.style.display = 'none';
    		}
    	},
    	
    	loadDivs: function() { 
    		var set = mjx.getCookie('notice_creativebits');
    	
    		if (set != null) {
    			set = set.split('\n');
    	
    			for (var v in set) {
    				var div = document.getElementById(set[v]);
    				
    				if (div == null) {
    					mjx.deleteCookie('notice_creativebits');
    				} else {
    					div.style.display = 'none'; }
    			}
    		} else {
    			mjx.deleteCookie('notice_creativebits');
    		}
    	}
    
    }
    
    window.onload = function() {
       mjx.loadDivs();
    }
    che poi includo nella pagina e questo linee di html per il box

    codice:
    <div id="alert"> 
    Apri/Chiudi 
    	Lorem ipsum dolor sit amet, consectetuer.
    </div>
    Ora il problema è che testato in un file per il test funziona perfettamente, ma quando provo ad usarlo dentro wordpress i cookie non funzionano bene: Mi spiego meglio, i teoria dovrebbe mantenere lo stato di "chiuso" se uno clicca chiusi e ricarica la pagina, al primo ricarico funziona ma già nel secondo ricaricamente è come se azzerasse il cookie e rivisualizza il div.

    Sono a un passo dalla soluzione ma, porca miseria, non riesco a capire come mai fa' così.
    Chi mi aiuta please?

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.