Objetivo:
Hoy aprenderás a trabajar con las principales APIs modernas del navegador, como LocalStorage, SessionStorage, Drag & Drop, Geolocalización, History API, FileReader e IndexedDB.
Estas tecnologías permiten a las aplicaciones web modernas almacenar datos, leer archivos, interactuar con el historial y ofrecer experiencias más dinámicas y enriquecidas.


📚 Formación Teórica

1. Objeto Date

2. LocalStorage y SessionStorage (Revisión)

3. Drag & Drop API

4. Geolocalización

5. History API

6. FileReader API

7. IndexedDB


🎥 Vídeos de hoy

Instrucciones para el vídeo:


🧠 Apuntes Técnicos del Día

📌 Objeto Date

let ahora = new Date();
console.log(ahora.toString());
console.log(ahora.getFullYear());

📌 localStorage y sessionStorage

// Guardar datos
localStorage.setItem("nombre", "Jesús");
sessionStorage.setItem("sesionActiva", "true");

// Leer datos
let nombre = localStorage.getItem("nombre");
let sesion = sessionStorage.getItem("sesionActiva");

// Borrar datos
localStorage.removeItem("nombre");
sessionStorage.removeItem("sesionActiva");

📌 Drag & Drop básico

function permitirDrop(ev) {
  ev.preventDefault();
}

function arrastrar(ev) {
  ev.dataTransfer.setData("text", ev.target.id);
}

function soltar(ev) {
  ev.preventDefault();
  var data = ev.dataTransfer.getData("text");
  ev.target.appendChild(document.getElementById(data));
}

📌 Geolocalización

navigator.geolocation.getCurrentPosition(
  (position) => {
    console.log(position.coords.latitude, position.coords.longitude);
  },
  (error) => {
    console.error(error);
  }
);

📌 History API

history.pushState({page: 1}, "Título 1", "?page=1");
history.back(); // Ir hacia atrás
history.forward(); // Ir hacia adelante

📌 FileReader API

const input = document.querySelector("input[type='file']");
input.addEventListener('change', (event) => {
  const file = event.target.files[0];
  const reader = new FileReader();
  reader.onload = (e) => {
    console.log(e.target.result);
  };
  reader.readAsText(file);
});

📌 IndexedDB (Introducción básica)

let db;
const request = indexedDB.open("MiBaseDeDatos", 1);

request.onsuccess = function(event) {
  db = event.target.result;
  console.log("Base de datos abierta con éxito");
};

request.onerror = function(event) {
  console.error("Error al abrir la base de datos", event);
};

🛠️ Tareas prácticas del Día 27

Tarea 1 — Uso de localStorage y sessionStorage:

Tarea 2 — Implementar Drag & Drop básico:

Tarea 3 — Obtener ubicación con Geolocalización:

Tarea 4 — Cargar y leer archivo con FileReader:

Entrega:


🚀 Resultado esperado al finalizar el día