Avatar billede tvilling53 Seniormester
09. april 2019 - 15:56 Der er 4 kommentarer og
2 løsninger

variabler på tværs af sider

Hej, håber nogen kan hjælpe. Det er måske min manglende viden der gør at jeg  forsøgt at få en variabelværdi hentet på en side hvor variablen ikke er oprettet.

Index.html.
<!DOCTYPE html>
<html>
  <head>
    <title></title>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <script src="js_array.js"></script>
        <script src="html_form.js"></script>
        <script>
            var login_array = ["mig", "selv"];
            login_array.push("sagde");
            function forside()
            {    window.location = 'forside.html';
            }
            function myFunction()
            {    login_array = saet_login('manden','atter');
                login_array.push("tørt");
                document.getElementById("demo1").innerHTML = login_array;
            }
        </script>
    </head>
  <body >
    <button onclick="myFunction()">Indsæt i array</button>
    <button onclick='forside()'>Forside</button>
    <p id="demo"></p>
    <p id="demo1"></p>
    <script>
        document.getElementById("demo").innerHTML = login_array;
       
    </script>
  </body>
</html>
Arrayet bliver forøget , men når jeg loader login1.html er der intet i arrayet.

login1.html

<!DOCTYPE html>
<html>
  <head>
    <title></title>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <script src="js_arrays.js"></script>
    </head>
  <body>
        <p id="demo"></p>
        <script>
            document.write("login_array i document.write = " );
            document.write(login_array[1]);
            document.getElementById("demo").innerHTML = login_array;
        </script>
    </body> 
</html>
Er der en fejl som jeg ikke kan finde eller er jeg ude i noget der ikke kan lade sig gøre.
På forhånd tak
Avatar billede Slater Ekspert
09. april 2019 - 16:03 #1
Du er ude i noget der ikke kan lade sig gøre... på den måde.

Når du skifter en side bliver Javascript-motoren stoppet helt og alle variabler forsvinder. Du vil aldrig bare kunne tilgå en variabel der eksisterede tidligere på en anden side uden videre.

For at kunne det, er du nødt til at gemme værdien et mere permanent sted. I gamle dage brugte man enten server-side databaser eller cookies til den slags. Det gør man stadig i dag, men der er kommet en ekstra mulighed, der er lidt lettere at arbejde med: localStorage. Gem noget i localStorage (eller sessionStorage, som er det samme bortset fra at det slettes når browseren lukkes helt), så kan du tilgå det så tosset du vil - så længe dine sider er på samme domæne.
Avatar billede tvilling53 Seniormester
09. april 2019 - 16:07 #2
Hvordan oprettes localStorage eller er det PHP der er tale om???
Avatar billede Slater Ekspert
09. april 2019 - 16:11 #3
Det er Javascript. Det gør du bare ved at skrive:

localStorage.setItem('navn', 'værdi');

Og så kan du hente værdien igen med

localStorage.getItem('navn');

Men husk at de data bliver liggende der for evigt som standard. Brug det sparsomt, eller brug sessionStorage i stedet. Det er præcis det samme, bare "session" i stedet for "local".
Avatar billede tvilling53 Seniormester
09. april 2019 - 16:16 #4
Vil det så sige at hvis det bliver nødvendig så tildeler man værdier på samme måde som enhver anden variabel?
Avatar billede Slater Ekspert
09. april 2019 - 16:23 #5
Ikke helt forstået.

Værdien i localStorage bliver altid gemt som en streng, så hvis du vil gemme f.eks. arrays eller objekter, er du nødt til at serialisere dem først, hvilket som regel gøres som JSON. med JSON.stringify() og så JSON.parse() for at få dem tilbage til objekter igen.
Avatar billede tvilling53 Seniormester
09. april 2019 - 16:28 #6
Så har jeg noget at lære, så jeg takker for indsatsen.
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

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





Premium
Claus Thorsgaard skal sætte gang i væksten som ny CEO: Her er hovedopgaverne som topchef i Luxion
Den tidligere Conscia-topchef Claus Thorsgaard skal nu sætte gang i væksten hos den danske it-virksomhed Luxion. "Luxion har et kæmpe uudnyttet potentiale. Ordrerne vælter ind ad døren uden en aktiv salgsindsats, så hvis vi begynder at fokusere på det, så skulle det gerne gå endnu bedre," siger den nye direktør til Computerworld.
CIO
Har du rost din mellemleder i dag? Snart er de uddøde - og det er et tab
Computerworld mener: Mellemledere lever livet farligt: Topledelsen får konstant ideer med skiftende hold i virkeligheden, og moden går mod flade agile organisationer. Men mellemlederen er en overset hverdagens helt med et kæmpe ansvar. Her er min hyldest til den ofte latterliggjorte mellemleder.
Job & Karriere
Eva Berneke stopper som topchef i KMD og flytter til Paris: Her er KMD's nye topchef
Efter syv år på posten som topchef for KMD forlader Eva Berneke selskabet. Nu flytter hun med familien til Paris, hvor hun vil fortsætte sit bestyrelsesarbejde. KMD har allerede afløser på plads.
White paper
Sådan sikrer du hovednøglen til jeres data
80% af alle ransomwareangreb skyldes misbrug af privilegerede brugeradgange. Ved at begrænse og overvåge adfærden på de privilegerede konti samt kontrollere mængden af tildelte rettigheder kan du mindske skaden ved hackerangreb mod din virksomhed og i visse tilfælde helt blokere dem. Internt kan du bruge kontrollen med brugeradgange til at dokumentere, hvem der bevæger sig i hvilke systemer, og hvad der foregår derinde. Privilegeret brugerstyring har de seneste to år stået øverst på Gartners Top10-liste over it-sikkerhedsprojekter, der bør få højeste prioritet. Alligevel er teknologien kun så småt ved at finde fodfæste i Danmark. Det kan viden om åbenlyse gevinster, relativ kort implementeringstid og yderst rimeligt budget være med til at ændre på. I dette whitepaper folder vi temaet privilegeret brugerstyring ud og placerer teknologien i det væld af prioriteringer, som CISO’en hver dag skal foretage.