webForumDet fria alternativet

Sätta cookies med javascript (client-side)?

4 svar · 321 visningar · startad av PatrikB

PatrikBMedlem sedan mars 20002 713 inlägg
#1

Hello!

hur kan man sätta cookies med javascript på clientsidan?
Eller det kanske endast funkar med IE?

har för mig att jag sett detta någonstans men kommer inte ihåg vart

cya,
PatrikB

JohnsenMedlem sedan juli 2000718 inlägg
#2

Det kan man och det är inte IE specifikt. Här är ett enkelt exempel:

// Sätta kakan:
document.cookie=name="Kakans värde"; expires="Wednesday, 19-Jun-02 19:12:40 GMT";

// Läsa kakan (returnerar "Kakans värde"):
document.write(document.cookie)

/ J

PatrikBMedlem sedan mars 20002 713 inlägg
#3

thx,
läste mig till det på ngn reference-lista .....
fick skriva en egen liten funktion för att kunna extrahera ut specifikt value av en key (använder mig av flera olika keys)

Min "lösning" ser ut så här:

<html>
<head>
<title>Set & Read Cookies with Javascript (client-side)</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<SCRIPT language="javascript">
function setCookie(sName, sValue){
	document.cookie = sName + "=" + sValue;
}

function getCookieValByName(sName){
	// get the cookie --
	var svalue = document.cookie;
	
	// split the cookie up to read keyvalues --
	var cookieArr = svalue.split(";")

	// check if anything is returned from the cookie --
	if (cookieArr.length > 0){
	
		// loop through the array with cookie-keys --
		for(i=0;i<(cookieArr.length);i++){
		
			// split cookie-key to get name and value separated --
			var valueArr = cookieArr[i].split("=");
			
			// only retrive cookie-keys with values --
			if (parseInt(valueArr.length) == 2){
			
				// get values from selected cookie --
				cookieName = valueArr[0];
				cookieVal = valueArr[1];
				
				// check if the name of the cookie-key is the same as the input --
				if(cookieName.toString() == sName.toString()){
					// alert(cookieVal);
					return cookieVal;
				}else{
					return null;
				}
			}
		}
	}
}

setCookie('test','blk');
</SCRIPT>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<SCRIPT language="javascript">
document.writeln (getCookieValByName('test'));
</SCRIPT>
</body>
</html>

kan säkert göras på ett smidigare sätt *ler* och tar tacksamt emot förbättringar

cya & thx,
PatrikB

JohnsenMedlem sedan juli 2000718 inlägg
#4

Har du kollat här: http://www.webforum.nu/showthread.php?s=&threadid=37492 ?

PatrikBMedlem sedan mars 20002 713 inlägg
#5

he, he.......

hittade inget när jag sökte .... fast, det e klart .... en annan sökte ju inte i script-arkivet :(

nog dags att "svepa" flera forum i sökningarna :e

cya,
PatrikB

Genererad på 379 ms · cache AV · v20260730165559-full.f96bc7eb