Avatar billede priczor Nybegynder
02. maj 2002 - 10:58 Der er 28 kommentarer og
1 løsning

Cookie

Hvordan sætter man en cookie i javascript og henter den igen?
Avatar billede Slater Ekspert
02. maj 2002 - 11:06 #1
document.cookie("navn=værdi");

var s = document.cookie.substr(document.cookie.indexOf("navn=") + 5);
Avatar billede Slater Ekspert
02. maj 2002 - 11:07 #2
Det skulle have været et svar.
Avatar billede priczor Nybegynder
02. maj 2002 - 11:07 #3
hvad så hvis man skal lave flere cookies?
Avatar billede Slater Ekspert
02. maj 2002 - 11:10 #4
Så skal man til noget mere avanceret.

function setCookie(name, value) {
  document.cookie = name + "=" + value;
}

function getCookie(name) {
  return document.cookie.substring(
      document.cookie.indexOf(navn + "=") + name.length + 1,
      document.cookie.indexOf(";", document.cookie.indexOf(name + "=") + name.length)
  );
}
Avatar billede Slater Ekspert
02. maj 2002 - 11:11 #5
har ikke lige kunne teste det, men prøv det. Sig til hvis det ikke virker.
Avatar billede priczor Nybegynder
02. maj 2002 - 11:15 #6
hmmmm giver man ikke cookien et navn for sig selv???

laver man kun en værdi i en cookie og så skal man bruge substring til at finde navnet / værdi??
Avatar billede priczor Nybegynder
02. maj 2002 - 11:17 #7
den giver en error .. i min getCookie
Avatar billede Slater Ekspert
02. maj 2002 - 11:18 #8
Cookie'en står i formatet: "navn1=værdi1;navn2=værdi2;".
Avatar billede Slater Ekspert
02. maj 2002 - 11:18 #9
hvad er fejlen?
Avatar billede Slater Ekspert
02. maj 2002 - 11:18 #10
Øjeblik, jeg prøver lige at lave et dokument selv.
Avatar billede priczor Nybegynder
02. maj 2002 - 11:18 #11
kann jeg ikke se?
Avatar billede priczor Nybegynder
02. maj 2002 - 11:19 #12
man kan godt overskrive cookien ikk?...
Avatar billede Slater Ekspert
02. maj 2002 - 11:23 #13
Sådan her:


function setCookie(name, value) {
  document.cookie = name + "=" + value;
}

function getCookie(name) {
  var start = document.cookie.indexOf(name + "=") + name.length + 1;
  var end = document.cookie.indexOf(";", start)
  if (end < 0)
    end = document.cookie.length;
  return document.cookie.substring(start, end);
}

setCookie("ostepop", "netumfisk");
setCookie("alpeost", "gedehams");

alert(getCookie("alpeost"))
Avatar billede Slater Ekspert
02. maj 2002 - 11:23 #14
Så virker det.
Avatar billede priczor Nybegynder
02. maj 2002 - 11:28 #15
hvor længe holder den? og kan man lave så den i getCookie tjecker om den findes +
Avatar billede Slater Ekspert
02. maj 2002 - 11:32 #16
den holder indtil browseren er lukket. Men du kan ændre setCookie til

function setCookie(name, value, expires) {
  document.cookie = name + "=" + value + ";expires=" + expires;
}

for at sætte værdien selv.
Avatar billede Slater Ekspert
02. maj 2002 - 11:33 #17
og hvis du ændrer getCookie til:

function getCookie(name) {
  var start = document.cookie.indexOf(name + "=") + name.length + 1;
  if (start < 0)
    return "";
  var end = document.cookie.indexOf(";", start)
  if (end < 0)
    end = document.cookie.length;
  return document.cookie.substring(start, end);
}

så returnerer den "" hvis den ikke findes.
Avatar billede priczor Nybegynder
02. maj 2002 - 11:38 #18
hvad skal expires stå til?
Avatar billede Slater Ekspert
02. maj 2002 - 11:43 #19
En date string. Øjeblik så skal jeg se om jeg kan finde formatet på MSDN.
Avatar billede Slater Ekspert
02. maj 2002 - 11:48 #20
det tager vist lige lidt tid. Mit net er ekstremt langsomt. Sidder i HTX'en og skriver det her.
Avatar billede priczor Nybegynder
02. maj 2002 - 12:03 #22
Takker for fed hjælp !!!
Avatar billede Slater Ekspert
02. maj 2002 - 12:04 #23
Så lidt! Surt at jeg ikke kunne se MSDN.
Avatar billede Slater Ekspert
02. maj 2002 - 12:06 #24
hov, forresten, det første link skulle have været:

http://msdn.microsoft.com/library
Avatar billede priczor Nybegynder
02. maj 2002 - 12:20 #25
det virker sq ikke nå jeg sætter expires på

function setCookie(name, value) {
var expires = new Date();
expires.setTime(expires.getTime() + 99999); 
document.cookie = name + "=" + value + ";expires=" + expires;
}

så laver den ikke cookien
Avatar billede Slater Ekspert
02. maj 2002 - 12:33 #26
Det forstår jeg ikke lige... Nettet er kommet op i speed igen, så jeg sidder lige og kigger. Siger til hvis jeg finder noget.
Avatar billede Slater Ekspert
02. maj 2002 - 12:44 #27
Hmm.. jeg kan godt se fejlen, men ikke løsningen.

Når du skriver setTime(et-eller-andet) bliver Date objektet til ét langt tal, hvor den siger 5/2/2002 12:45:12 UTC (eller sådan noget) når du ikke gør det. Det er klart at du ikke kan sætte det lange mærkelige tal ind.
Men hvorfor det bliver sådan ved jeg ikke.
Avatar billede priczor Nybegynder
02. maj 2002 - 12:45 #28
altså hvordan får jeg den til at få cookien til at blive i f.eks 30 dage...? v ed du det=
Avatar billede Slater Ekspert
03. maj 2002 - 11:26 #29
Nu har jeg forsøgt flere gang derhjemme at få expires til at virke, men hver gang jeg bare skriver ordet går cookie'en helt amok og nægter at lade sig skrive. Jeg fatter det ikke. Har oven i købet gjort det før, men kan ikke huske hvordan. Ked af det.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester