Cookie e document.write

Fr3d3R!K

Nuovo Utente
17 Ago 2006
9
0
0
Ciao a tutti mi chiamo Federico...ho notato questo sito per la grande quantità di tutorial e guide davvero ben fatte...così ho deciso di rivolgermi qui per una questione davvero scottante...devo presentare per lavoro un sito ma non mi funziona un codice...vorrei far visualizzare un messaggio di benvenuto personalizzato tramite cookie (così non viene visualizzato il prompt ogni volta)...ma memorizzazione dei cookie funziona...non funziona quel document.write nella funzione DoCookie() (chiamata così)...
Codice:
<script language="JavaScript">
<!--
function getCookie(NameOfCookie)
{
	if (document.cookie.length > 0) 
	{
		begin = document.cookie.indexOf(NameOfCookie+"=");       
    		if (begin != -1) 
		{           
    		  begin += NameOfCookie.length+1;       
    		  end = document.cookie.indexOf(";", begin);
    		  if (end == -1) end = document.cookie.length;
    		    return unescape(document.cookie.substring(begin, end));
    		} 
  	}
  	return null;
}
function setCookie(NameOfCookie, value, expiredays) 
{
	var ExpireDate = new Date ();
	ExpireDate.setTime(ExpireDate.getTime() + (expiredays * 24 * 3600 * 1000));
  	document.cookie = NameOfCookie + "=" + escape(value) + ((expiredays == null) ? "" : "; expires="+ ExpireDate.toGMTString());
}
function delCookie (NameOfCookie) 
{
  if (getCookie(NameOfCookie)) 
  {
    document.cookie = NameOfCookie + "=" + "; expires=Thu, 01-Jan-70 00:00:01 GMT";
  }
}
[B]function DoCookie()
{
	username=getCookie('username');
	if ((username!=null)&&(username!="")
	{
		document.write('<marquee><p>Benvenuto/a caro/a '+username+' su A Passion Called Linux</p></marquee>');
	}
	else
	{
		username=prompt('Ciao Benvenuto su A Passion Called Linux - Per favore inserisci il tuo nome.',"");
		setCookie('username',username,365);
		DoCookie();
	}
}[/B]
//-->
</script>
potete aiutarmi a capire perchè non funziona? non visualizza nè messaggio nè prompt...se provo a togliere il document.write il prompt però li visualizza..aiutoo :crying:

edit: nel body ho scritto:
Codice:
<body onLoad="DoCookie()">
 
nuovo sviluppo! ora il document.write mi funziona ma mi cancella tutto quello che c'è nella pagina e mi appare una pagina bianca con solo quella scritta :( perchè? dove sbaglio col document.write??? aiutatemi per favore!!
 
intanto grazie mille per la risposta...ma non funziona :crying: forse l' onLoad del DoCookie devo metterlo dentro una tabella così visualizza solo li??? dimmi tu....
 
ma guarda che non è cambiato niente anzi è peggiorato se prima spuntava quella scritta ora non spunta nemmeno quella...io questo intendevo come non funziona...
 
mi posti per favore il tuo codice?
ecco il mio
Codice:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script language="JavaScript">
<!--
function getCookie(NameOfCookie)
{
	if (document.cookie.length > 0) 
	{
		begin = document.cookie.indexOf(NameOfCookie+"=");       
    		if (begin != -1) 
		{           
    		  begin += NameOfCookie.length+1;       
    		  end = document.cookie.indexOf(";", begin);
    		  if (end == -1) end = document.cookie.length;
    		    return unescape(document.cookie.substring(begin, end));
    		} 
  	}
  	return null;
}
function setCookie(NameOfCookie, value, expiredays) 
{
	var ExpireDate = new Date ();
	ExpireDate.setTime(ExpireDate.getTime() + (expiredays * 24 * 3600 * 1000));
  	document.cookie = NameOfCookie + "=" + escape(value) + ((expiredays == null) ? "" : "; expires="+ ExpireDate.toGMTString());
}
function delCookie (NameOfCookie) 
{
  if (getCookie(NameOfCookie)) 
  {
    document.cookie = NameOfCookie + "=" + "; expires=Thu, 01-Jan-70 00:00:01 GMT";
  }
}
function DoCookie()
{
	username=getCookie('username');
	if (username!=null && username!="")
	{
		document.write('<div><marquee><p>Benvenuto/a caro/a '+username+' su A Passion Called Linux</p></marquee></div>');
	}
	else
	{
		username=prompt("Ciao Benvenuto su A Passion Called Linux - Per favore inserisci il tuo nome.","");
		setCookie('username',username,365);
		DoCookie();
	}
}
//-->
</script>
<title>A Passion called Linux</title>
</head>
<body onLoad="DoCookie()">
materiale del sito</body>
</html>
 
Copiato ed incollato il codice che hai postato.
Controlla le impostazioni di sicurezza del tuo browser, è possibile che sia impostato sulla NON esecuzione di javascript.

:byebye:
 

Allegati

  • screen.jpg
    screen.jpg
    49,2 KB · Visite: 318
daviduccio ha scritto:
Copiato ed incollato il codice che hai postato.
Controlla le impostazioni di sicurezza del tuo browser, è possibile che sia impostato sulla NON esecuzione di javascript.
:byebye:
io ho firefox con javascript attivato...ma il tuo codice l'hai sostituito al mio nel messaggio? perchè non lo vedo :p
 
lo so e grazie tante per questo tempo che stai perdendo per me...ma il problema non cambia...cancella la pagina e visualizza solo quel messaggio...ma cmq in caso se non c'è soluzione lo tolgo...mi sta dando troppi problemi...
 
non c'è più bisogno un amico di un'altro forum mi ha risolto il problema dicendomi di non usare document.write ma di scrivere dentro un elemento preesistente richiamabile tramite id...funziona perfettamente...grazie per l'aiuto :byebye:
 

Discussioni simili