03. november 2003 - 22:18Der er
3 kommentarer og 1 løsning
Sætte/læse cookie med JS?
Hej!
Jeg søger en måde at sætte og læse en cookie med JavaScript, da koden herunder skal stå på en side der til tider bliver opdateret i brugerens browser (f.eks. med F5).
Jeg ønsker at browseren husker om brugeren hvade boksen åben eller lukket.
<script language="javascript" type="text/javascript"> function skrivCookie(name,value,expTime,path){//Tid i dage switch(skrivCookie.arguments.length){ case 1: var expTime = 0; var path = "/"; case 2: var expTime = 0; var path = "/"; case 3: var path = "/"; } var exp = new Date().getTime()+expTime*24*60*60*1000; exp = new Date(exp).toGMTString(); var cook = name + " = " + escape(value) + ";expires=" + exp + ";path=" + path; document.cookie = cook; } function hentCookie(name){ if (document.cookie){ var n = document.cookie.indexOf(name+"="); if (n>-1){ var val = document.cookie.substring(n+name.length+1); n = val.indexOf(";"); if(n>-1)val=val.substring(0,n); return unescape(val); } } } </script>
</head>
<body onload="hentCookie();">
Synes godt om
Slettet bruger
03. november 2003 - 22:28#2
hmm...pænt langhåret for en JS novice som mig, hvordan kæder jeg det sammen med min egen kode?
Synes godt om
Slettet bruger
05. november 2003 - 14:33#3
Jeg fandt disse kommenterede funktioner:
function getCookie(Navnpaacookie) {
// Først tjekker vi om der er en cookie lagret. // Ellers bliver længden af document.cookie nul.
if (document.cookie.length > 0) {
// Dernæst tjekker vi om cookiens navn er lagret i // "document.cookie" objktet for siden.
// Eftersom mere end en cookie kan lagres på // en enkelt side, er det muligt at vores cookie // ikke er tilstæde, selvom "document.cookie" object // ikke bare er en tom tekst. // Hvis vores cookienavn ikke er tilstæde gemmes værdien -1 // i en variabel kaldet "begin".
begin = document.cookie.indexOf(Navnpaacookie+"="); if (begin != -1) // NB: != betyder "er ikke lig med" {
// Vores cookie blev sat. // Værdien lagret i cookien retuneres af funktionen.
begin += Navnpaacookie.length+1; end = document.cookie.indexOf(";", begin); if (end == -1) end = document.cookie.length; return unescape(document.cookie.substring(begin, end)); } } return null;
// Vores cookie blev ikke sat. // Værdien "nul" retuneres af funktionen.
}
function setCookie(Navnpaacookie, value, expiredays) {
// Tre variabler bliver brugt til at sætte den nye cookie. // Navnet på cookien, værdien der skal gemmes, // og tilsidst antallet af dage indtil cookien udløber. // De første linier i funktionen konverterer // antallet af dage til en gyldig dato.
var ExpireDate = new Date (); ExpireDate.setTime(ExpireDate.getTime() + (expiredays * 24 * 3600 * 1000));
// Den næste linie gemmer cookien, ved at tildele // værdierne til "document.cookie" objektet. // NB datoen konverteres til Greenwich Mean time ved at bruge //"toGMTstring()" funktionen.
Fint nok -- jeg har ikke haft tiden til at hjælpe dig !-)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.