JavaScript
Tema 8 · LocalStorage per a aplicacions d'enginyeria
Introducció
LocalStorage permet desar parelles clau-valor al navegador de forma persistent. Les dades no s'esborren en tancar la pestanya, cosa que el fa ideal per guardar configuracions d'equips, preferències d'usuari, lectures recents de sensors o llistes de components sense necessitat de servidor.
Objectius
- Guardar i recuperar dades amb
localStorage.setItem()igetItem() - Emmagatzemar objectes JavaScript com a JSON
- Eliminar dades amb
removeItem()i netejar tot l'emmagatzematge - Crear una aplicació que recordi l'estat entre sessions
Funcions bàsiques de LocalStorage
Guardar i recuperar paràmetres de configuració d'una màquina:
// Guardar valors simples
localStorage.setItem('tensio_maxima', '250');
localStorage.setItem('unitats', 'V');
// Recuperar
const tensioMax = localStorage.getItem('tensio_maxima');
console.log(`Tensió màxima configurada: ${tensioMax} V`);
// Guardar un objecte com JSON
const configuracio = {
motor: 'MTR-400',
rpm: 1450,
actiu: true
};
localStorage.setItem('config_maquina', JSON.stringify(configuracio));
// Recuperar l'objecte
const savedConfig = JSON.parse(localStorage.getItem('config_maquina'));
console.log(`Motor: ${savedConfig.motor}, RPM: ${savedConfig.rpm}`);
Exemple: formulari amb persistència
Formulari que recorda els valors introduïts encara que es tanqui la pestanya:
// Desa automàticament en canviar qualsevol camp
document.querySelectorAll('#form-config input').forEach(input => {
input.addEventListener('input', () => {
localStorage.setItem(input.id, input.value);
});
});
// En carregar la pàgina, restaura els valors
window.addEventListener('DOMContentLoaded', () => {
document.querySelectorAll('#form-config input').forEach(input => {
const valorGuardat = localStorage.getItem(input.id);
if (valorGuardat) input.value = valorGuardat;
});
});
Exercicis
- Crea un formulari amb tres camps (nom de l'equip, potència, data de revisió) i fes que es guardin automàticament a LocalStorage.
- Implementa un botó "Esborrar dades" que netegi totes les configuracions guardades.
- Dissenya un petit registre de manteniment: permet afegir entrades (data i descripció), mostrar-les en una llista i desar-les a LocalStorage com a array d'objectes.
Mini Projecte – Registre de manteniment d'equips
Construeix una aplicació web que gestioni un registre de manteniment d'equips d'un laboratori d'enginyeria:
- Un formulari per afegir una entrada de manteniment: data, equip, tècnic, descripció i cost.
- Les entrades es mostren en una taula a sota del formulari.
- Totes les dades es guarden a LocalStorage (array d'objectes) perquè persisteixin en tancar el navegador.
- Un botó per esborrar totes les entrades (amb confirmació).
- Un botó per exportar el registre actual com a fitxer JSON descarregable.
Pista: recupera l'array de LocalStorage, afegeix la nova entrada, i torna a guardar-lo. Per a l'exportació, crea un Blob i un enllaç de descàrrega.