IndexedDB API

di il
4 risposte

IndexedDB API

Ciao a tutti. Stavo studiando la possibilità di memorizzare i dati sul browser con l' API indexedDB di javascript. Ho provato a testarlo in questo modo però mi dà errore dicendo che l'oggetto window non è definito. Uso visual studio code per testarlo. Sapete che problema è? Grazie

let db;
    const request = window.indexedDB.open("MyTestDatabase");
    request.onerror = (event) => {
      console.error("Why didn't you allow my web app to use IndexedDB?!");
    };
    request.onsuccess = (event) => {
      db = event.target.result;
    };
    

4 Risposte

  • Re: IndexedDB API

    In quale browser lo stai eseguendo? Riporta anche il codice della pagina HTML che ospita o richiama lo script.

  • Re: IndexedDB API

    Ciao. Ti ringrazio per l'interessamento e ti dico che ho risolto.Bastava semplicemente inserire lo script js in un file html. Queste cose i libri però non le dicono, ne tantomeno la documentazione.

    Saluti 

  • Re: IndexedDB API

    10/01/2023 - tonyven1 ha scritto:


    Bastava semplicemente inserire lo script js in un file html. Queste cose i libri però non le dicono, ne tantomeno la documentazione.

    Una cosa del genere la dice qualsiasi libro, documentazione, corso o tutorial introduttivo sulla programmazione JavaScript all'interno di un browser.

    Ad esempio, questa è l'introduzione a JavaScript del sito W3CSchool (uno dei più consultati per semplicità e immediatezza), che è pieno di tutorial (su questi e altri argomenti).

    Del resto, il tuo obiettivo è quello di usare JavaScript in una pagina HTML interfacciandoti a un oggetto del browser: mi sembra abbastanza evidente che tu debba avere innanzitutto una pagina HTML, e in secondo luogo che questa - in qualche modo, mettendo lo script nella pagina o collegandolo da un file esterno - “veda” ed esegua il tuo codice.

    E' matematicamente impossibile che tu stia seguendo un testo che parli dell'elemento forse più complesso e articolato che esista, ovvero indexedDB, senza spiegare nemmeno come si esegue codice JavaScript in un browser. Suvvia……

  • Re: IndexedDB API

    Il problema è che window non è definito perché il codice non viene eseguito nel contesto del browser, ma in un ambiente Node.js fornito da Visual Studio Code.

    L'API IndexedDB è disponibile solo nei browser e non può essere utilizzata in Node.js. Quindi, per testare il codice, devi eseguirlo in un browser, ad esempio Chrome o Firefox.

    Puoi semplicemente creare un file HTML, inserire il tuo codice JavaScript al suo interno e aprire il file HTML nel browser per eseguire il test. Ad esempio:

    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="UTF-8" />
        <title>IndexedDB Test</title>
        <script>
          let db;
          const request = window.indexedDB.open("MyTestDatabase");
          request.onerror = (event) => {
            console.error("Why didn't you allow my web app to use IndexedDB?!");
          };
          request.onsuccess = (event) => {
            db = event.target.result;
          };
        </script>
      </head>
      <body>
        <h1>IndexedDB Test</h1>
      </body>
    </html>
    
    
    
    
Devi accedere o registrarti per scrivere nel forum
4 risposte