Avatar billede smirnoff Nybegynder
10. oktober 2000 - 18:44 Der er 11 kommentarer og
1 løsning

Variabler dør ved refresh? - globale variabler???

Hejsa

Jeg er rimelig ny i javascript - så derfor prøver jeg nu at spørge her...
Mit spørgsmål går, hvordan en variabel kan overleve et refresh af den side den er oprettet på? kan variabler ikek være globale - eller dør de altid ved et refresh af en side...(håber spørgsmålet er forstået :)



Avatar billede limemedia Nybegynder
10. oktober 2000 - 18:49 #1
JS variabler dør når du reloader... !
Avatar billede gertnissen Nybegynder
10. oktober 2000 - 19:02 #2
Du evt. kan gemme dem i en anden (skjult) frame

Se evt. http://www.eksperten.dk/spm/19839
Avatar billede el_gnu Nybegynder
10. oktober 2000 - 19:11 #3
eller eventuelt sætte dem i document.cookie
Avatar billede smirnoff Nybegynder
10. oktober 2000 - 19:21 #4
cookies ok - men øhhh ... vil det kunne virke med arrays??
Avatar billede el_gnu Nybegynder
10. oktober 2000 - 19:24 #5
hmmm, det kan vel lade sig gøre, men kræver lidt tankevirksomhed (og jeg har vidst opbrugt min kvote for i dag)
Avatar billede ldanielsen Nybegynder
12. oktober 2000 - 02:32 #6
Arrays? Yes!

Her er to dokumenter:

dok1.htm:
<html>
<head>
<title>Dok 1</title>

<SCRIPT LANGUAGE=\"JavaScript\">

//Laver lige et array

myArr= new Array()
myArr[0]=\"test0\"
myArr[1]=\"test1\"
myArr[2]=\"test2\"
myArr[3]=\"test3\"

//Laver mit array om til tekststrengen st = \"test0,test1,test2,test3\"

st = \"\"
for (i=0;i < myArr.length;i++){
  sep = \"\"
  if (i > 0) sep = \",\"
  st = st + sep + myArr[i]
  }

document.cookie = \"myCookie=\" + st

</script>

</head>
<body>
<a href=\"dok2.htm\">klik</a>
</body>
</html>

dok2.htm:

<html>
<head>
<title>Dok 2</title>

<SCRIPT LANGUAGE=\"JavaScript\">

function getCookie(cookieName){
  cookieVal = null
  cookieStr = \"\"+document.cookie
  if (cookieStr.indexOf(cookieName+\"=\") >= 0){
    cookieStr = cookieStr.substring(cookieStr.lastIndexOf(cookieName+\"=\"),cookieStr.length)
    if (cookieStr != \"\"){
      if (cookieStr.indexOf(\";\") >= 0){
        cookieVal = cookieStr.substring(cookieName.length+1,cookieStr.indexOf(\";\"))
      }else{
        cookieVal = cookieStr.substring(cookieName.length+1,cookieStr.length)
        }
      }
    }
  return cookieVal
  }

st = getCookie(\"myCookie\")

myArr = st.split(\",\")

document.write(myArr[1])

</script>

</head>
<body bgcolor=\"#FFFFFF\">
<a href=\"dok1.htm\">klik tilbage</a>
</body>
</html>

der demonstrerer det.

du bruger String.split(separator) til at gendanne dit array.

du kan sagtens bruge alt muligt andet end komma til at skille elementerne med, undtagen \";\"
Avatar billede smirnoff Nybegynder
12. oktober 2000 - 12:37 #7
Fedt - alletiders, jeg vil prøve dit eksempel...

mange tak for hjælpen alle sammen :)
Avatar billede ldanielsen Nybegynder
12. oktober 2000 - 20:16 #8
Håber det hjælper smirnoff -

Øh - deler du ikke point ud?? :-)
Avatar billede bobby Nybegynder
12. oktober 2000 - 20:52 #9
Cookie løsningen kræver selvfølgelig at brugeren accepterer cookies. En alternativ løsning kan være at danne en \"query string\". Dvs. skrive parametrene i sin href. Eksempel: hvis din href er www.minhref.html kan du tilføje dine parametre således www.minhref.html?parametre.
Du reloader så ved brug af din \"forlængede href\", og i dit dokument afkoder du hvad der står efter spørgsmålstegnet. Hvis du synes denne løsning er passende vil jeg gerne detaljere den. 
Avatar billede smirnoff Nybegynder
13. oktober 2000 - 09:29 #10
point - øhhh deler jeg ikke 30 point ud??...det står oppe øverst
Avatar billede ldanielsen Nybegynder
13. oktober 2000 - 11:47 #11
Du skal acceptere svaret/svarene, og jeg ved ikke hvordan du gør, for jeg er ny og har aldrig spurgt om noget.

Men klik fx. på indstillinger, og se om du kan finde ud af det

På forhånd tak
Avatar billede gertnissen Nybegynder
13. oktober 2000 - 11:50 #12
I venstre nederste hjørne, hvor kommentar, fortsat svar står - er der også en accepter svar.
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