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!