Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Dúvida sobre armazenamento de dados no navegador

Boa tarde pessoal, na última aula do módulo 2 o professor fala que os dados com localstorage são armazenados localmente, isso é, dados salvos no navegador do celular, só ficam no celular, assim como dados do computador só ficam salvo naquele navegador. Existe alguma forma de vincular essas informações? (pc em pc ou pc em celular)

1 resposta
solução!

Olá Dimi!

Sim, é possível vincular as informações armazenadas no localstorage entre diferentes dispositivos, como computadores e celulares. Uma forma de fazer isso é utilizando uma API chamada IndexedDB.

O IndexedDB é um banco de dados NoSQL embutido nos navegadores modernos que permite armazenar grandes quantidades de dados de forma estruturada. Com ele, você pode criar um banco de dados local que pode ser acessado por diferentes dispositivos.

Você pode utilizar o IndexedDB para armazenar os dados no localstorage de um dispositivo e, em seguida, acessá-los a partir de outro dispositivo. Por exemplo, você pode salvar os dados em um computador e, em seguida, acessá-los a partir de um celular.

Aqui está um exemplo de como utilizar o IndexedDB para armazenar e recuperar dados:

// Abrir o banco de dados
var request = window.indexedDB.open("MeuBancoDeDados", 1);

request.onerror = function(event) {
  console.log("Erro ao abrir o banco de dados");
};

request.onupgradeneeded = function(event) {
  var db = event.target.result;
  var objectStore = db.createObjectStore("MeuObjeto", { keyPath: "id" });
};

request.onsuccess = function(event) {
  var db = event.target.result;
  var transaction = db.transaction(["MeuObjeto"], "readwrite");
  var objectStore = transaction.objectStore("MeuObjeto");

  // Armazenar um objeto
  var objeto = { id: 1, nome: "Exemplo" };
  var request = objectStore.add(objeto);

  request.onsuccess = function(event) {
    console.log("Objeto armazenado com sucesso");
  };

  // Recuperar um objeto
  var getRequest = objectStore.get(1);

  getRequest.onsuccess = function(event) {
    var objeto = event.target.result;
    console.log(objeto);
  };

  transaction.oncomplete = function(event) {
    db.close();
  };
};

Neste exemplo, criamos um banco de dados chamado "MeuBancoDeDados" com um objeto chamado "MeuObjeto". Em seguida, armazenamos um objeto com um ID e um nome no objetoStore e recuperamos o objeto pelo ID.

Dessa forma, você pode armazenar e recuperar dados em diferentes dispositivos usando o IndexedDB. Lembre-se de que você precisará implementar a lógica de sincronização entre os dispositivos, caso deseje manter os dados atualizados em tempo real.

Espero ter ajudado e bons estudos!