¿Podemos almacenar datos temporalmente en el navegador? Por ejemplo, tengo la página A y la página B
En la página A (a.html), me gustaría almacenar temporalmente el texto "Helloworld" al hacer clic en el botón
function a(){ return "helloWorld" } function changePage(){ a() window.location(b.html) }En la página B (B.html), me gustaría capturar "Helloworld" en la página A e imprimirlo en la página b.
console.log(a())Leí en postMessage pero, según tengo entendido, esto solo funciona en 2 páginas que se cargan en una sola página en una solución alternativa entre dominios.
Puede usar las capacidades de almacenamiento local del navegador: localStorage . Ayuda a almacenar datos en el navegador como cadenas .
Para almacenar datos:
localStorage.setItem('foo', 'helloWorld');Para obtener los datos guardados:
localStorage.getItem('foo');// return 'helloWorld'Creo que sessionStorage se ajusta a su propósito. Pero tenga en cuenta que los datos se eliminan cuando el usuario cierra el navegador; si no desea eso, simplemente reemplace sessionStorage con localStorage . Pero siempre que no necesite que los datos sean persistentes en los reinicios, debería usar sessionStorage para no llenar el disco de los usuarios:
window.addEventListener("load", function() { // this is executed when the site is loaded inputElement = document.getElementById("dataInput"); inputElement.addEventListener("input", function() { // and this whenever the user changes the contents of dataInput window.sessionStorage.setItem("dataInput", inputElement.value()); }); }); <input id="dataInput" type="text" placeholder="Enter your data"> window.addEventListener("load", function() { outputElement = document.getElementById("dataOutput"); outputElement.setText(window.sessionStorage.getItem("dataInput")); }); <p id="dataOutput">The data should appear here</p>