Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Condivisione del contenuto di un array javascript su due pagine html distinte

  1. #1

    Condivisione del contenuto di un array javascript su due pagine html distinte

    Ciao a tutti!
    Sono alle prime armi con Javascript e vi sottopongo questo mio problema.

    Sto sviluppando una semplice applicazione che consente di eseguire acquisti online.
    Questa applicazione e' composta sostanzialmente da due sole pagine html, che chiamero' per semplicita' page1.html e page2.html.
    Nella prima l'utente puo' selezionare cio' che desidera acquistare, mentre nella seconda gli viene mostrato il contenuto del suo carrello e il form da compilare per pagare.

    Entrambe le pagine sono gestite da un solo file javascript, che chiamero' main.js, ossia entrambe importano lo script in questione (tramite il tag <script type="text/javascript" src="main.js">). Questo per far si che entrambe le pagine possano condividere il contenuto del carrello dei prodotti che l'utente sceglie di acquistare, che e' implementato tramite un semplice array javascript creato nel file main.js.

    Tuttavia, quando passo dalla page1.html alla page2.html (per farlo utilizzo il metodo location.assign("page2.html") nello script main.js), nel momento in cui visualizzo la page2.html perdo tutto il contenuto dell'array carrello. Immagino che questo avvenga perche' nel momento in cui nella page2.html importo lo script main.js, viene creata ovviamente una nuova istanza dell'array, andando cosi' a perdere quella precedente.

    Qualcuno sa darmi qualche suggerimento su come potrei risolvere questo problema, ossia come potrei passare dalla prima pagina alla seconda senza perdere il contenuto dell'array?
    Intuitivamente, mi servirebbe un modo per "passare" il contenuto corrente dell'array carrello quando passo dal visualizzare la page1.html al visualizzare la page2.html.

    Grazie!

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    4,116
    Tuttavia, quando passo dalla page1.html alla page2.html (per farlo utilizzo il metodo location.assign("page2.html") nello script main.js), nel momento in cui visualizzo la page2.html perdo tutto il contenuto dell'array carrello. Immagino che questo avvenga perche' nel momento in cui nella page2.html importo lo script main.js, viene creata ovviamente una nuova istanza dell'array, andando cosi' a perdere quella precedente.
    Ciao, accade più o meno ciò che hai detto, location.assign non fa altro che caricare un nuovo documento nella finestra corrente con conseguente perdita di tutti i dati, presenti fino a quel momento, a livello di script.

    Puoi risolvere in vari modi, uno è l'uso del web storage di HTML5, parliamo quindi di Session Storage e Local Storage.

    Qui qualche guida per farti un idea di cosa siano e come utilizzarli:

    Web storage, i cookies secondo HTML5
    Salvare dati lato client con Web Storage
    HTML5 Web Storage
    ... e molto altro su zio gugol

    Buon proseguimento
    Prima di postare considera che tra i link utili puoi trovare il 75% delle risposte alle tue domande; il 15% tra i post del forum; il 9% sul web.
    Ti resta l’1% ... usalo bene!

    Le cattive domande sono quelle che non meritano risposta, le buone domande sono quelle che non hanno risposta
    L'Itailano non e nu'opnioine. E' improntate uslaro correattemtne sul froum. Garize!

  3. #3
    Grazie mille!
    Era proprio quello di cui avevo bisogno per risolvere il problema!

    Buona giornata!!

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2018 vBulletin Solutions, Inc. All rights reserved.