Saltar al contenido principal

Configuraciones Avanzadas

El panel Application ofrece configuraciones y herramientas avanzadas para escenarios de desarrollo y depuración especializados. Esta sección cubre las opciones menos conocidas pero potentes para casos de uso avanzados.

Administración de almacenamiento

Clear Site Data

La sección "Clear storage" (en algunos navegadores) proporciona un panel de control centralizado para eliminar datos del sitio:

  • Permite seleccionar tipos específicos de almacenamiento para borrar
  • Ofrece un botón "Clear site data" para eliminar todos los datos seleccionados
  • Muestra estadísticas de uso de almacenamiento
  • Permite simular condiciones de "primer uso" rápidamente

Storage Quotas

Para verificar y administrar cuotas de almacenamiento:

// Código que se puede probar desde la consola
async function checkStorageEstimate() {
try {
const estimate = await navigator.storage.estimate();
console.log(`
Uso total: ${estimate.usage / 1024 / 1024} MB
Cuota: ${estimate.quota / 1024 / 1024} MB
Utilizado: ${(estimate.usage / estimate.quota * 100).toFixed(2)}%
`);
console.log('Desglose por tipo:', estimate.usageDetails);
} catch (error) {
console.error('Error al obtener estimación de almacenamiento:', error);
}
}

Persistencia de almacenamiento

Opciones para solicitar almacenamiento persistente que el navegador no borrará automáticamente:

// Solicitar persistencia de almacenamiento
async function requestPersistence() {
if (navigator.storage && navigator.storage.persist) {
const isPersisted = await navigator.storage.persist();
console.log(`Persistencia ${isPersisted ? 'concedida' : 'denegada'}`);
}
}

// Verificar estado de persistencia
async function checkPersistence() {
if (navigator.storage && navigator.storage.persisted) {
const isPersisted = await navigator.storage.persisted();
console.log(`El almacenamiento ${isPersisted ? 'es' : 'no es'} persistente`);
}
}

Web SQL y herramientas de base de datos heredadas

Nota: Web SQL está obsoleto, pero aún se incluye en DevTools para compatibilidad.

Si trabajas con aplicaciones que utilizan Web SQL:

  • Expande la sección "Web SQL" para ver las bases de datos
  • Ejecuta consultas SQL para inspeccionar o modificar datos
  • Visualiza tablas y sus estructuras
  • Exporta datos para migración a tecnologías modernas

Frames y iframe

Para sitios con contenido en iframes:

  • Navegación estructurada por marcos
  • Acceso al almacenamiento específico de cada iframe
  • Inspección de cookies por contexto de navegación
  • Verificación de políticas de aislamiento (COEP, COOP, CORP)

Shared Workers

Si la aplicación utiliza Shared Workers:

  • Lista de todos los Shared Workers activos
  • Inspección del estado y conexiones
  • Depuración similar a Service Workers
  • Visualización de mensajes entre contextos

Content Security Policy (CSP)

Herramientas para verificar políticas de seguridad:

  • Visualización de violaciones de CSP
  • Simulación de políticas diferentes
  • Depuración de configuraciones restrictivas
  • Validación de compatibilidad con requisitos de seguridad

Trusted Web Activities (TWA)

Para aplicaciones Android basadas en PWA:

  • Verificación de requisitos de TWA
  • Validación de Digital Asset Links
  • Comprobación de coincidencia de manifiesto
  • Pruebas de experiencia sin bordes

Storage Access API

Para casos donde se necesita acceso cross-origin a almacenamiento:

// Solicitar acceso a almacenamiento cross-origin
async function requestStorageAccess() {
try {
// Verificar si ya tenemos acceso
const hasAccess = await document.hasStorageAccess();

if (!hasAccess) {
// Solicitar acceso (requiere interacción del usuario)
await document.requestStorageAccess();
console.log('Acceso concedido');
} else {
console.log('Ya tenemos acceso al almacenamiento');
}
} catch (error) {
console.error('Error al solicitar acceso:', error);
}
}

Origin Trials

Para experimentar con API nuevas o experimentales:

  • Verificación de tokens de Origin Trials
  • Validación de configuración
  • Depuración de características experimentales
  • Gestión de fechas de caducidad

Back-Forward Cache (bfcache)

Herramientas para optimizar experiencia de navegación:

  • Verificación de elegibilidad para bfcache
  • Identificación de bloqueos (eventos unload, etc)
  • Pruebas de restauración de estado
  • Optimización para navegación instantánea

FileSystem Access API

Para aplicaciones que utilizan acceso al sistema de archivos:

// Ejemplo de uso de FileSystem Access API
async function openAndReadFile() {
try {
// Mostrar selector de archivos
const [fileHandle] = await window.showOpenFilePicker();
const file = await fileHandle.getFile();
const contents = await file.text();

console.log('Contenido del archivo:', contents);

// Verificar permisos
const options = { mode: 'readwrite' };
const permission = await fileHandle.queryPermission(options);

console.log('Permiso actual:', permission);
} catch (error) {
console.error('Error accediendo al archivo:', error);
}
}

Comandos y atajos útiles

ComandoDescripción
Shift+F5Recarga con caché vacío
Ctrl+Shift+P > "Show Storage"Abre rápidamente el panel Storage
Ctrl+Shift+P > "Clear site data"Borra todos los datos del sitio
Application > ⚙️ (Gear icon)Configuraciones específicas del panel
F1 > ApplicationDocumentación de ayuda relacionada con Application

Automatización y extensibilidad

Protocol Handlers

Depuración de manipuladores de protocolo:

// Registro de manipulador de protocolo personalizado
navigator.registerProtocolHandler(
"web+app",
"https://example.com/handler?command=%s",
"Ejemplo de manipulador"
);

Intents y Share Target

Para aplicaciones que implementan Web Share Target:

  • Verificación de configuración en el manifiesto
  • Pruebas de recepción de compartidos
  • Simulación de compartidos entrantes
  • Validación de tipos de contenido soportados

Consideraciones de rendimiento

Impacto en rendimiento

MecanismoImpacto en rendimientoAlternativas
localStorageBloqueante, síncronoIndexedDB con wrapper síncrono
sessionStorageMenor impacto, limitado a sesión-
IndexedDBAsíncrono, mínimo impacto-
Cache APIÓptimo para recursos web-
Web SQLObsoleto, potencial bloqueoIndexedDB

Prácticas recomendadas

  • Utilizar Workers para operaciones intensivas de almacenamiento
  • Implementar estrategias de caché apropiadas para cada tipo de recurso
  • Mantener un esquema de datos eficiente en IndexedDB
  • Minimizar el uso de almacenamiento síncrono
  • Implementar control de versiones para todas las estructuras de datos
  • Aplicar límites razonables al tamaño de datos almacenados
  • Manejar adecuadamente errores y situaciones de cuota excedida

Compatibilidad entre navegadores

El panel Application puede variar significativamente entre navegadores:

NavegadorCaracterísticas únicasLimitaciones
ChromeSet completo de herramientas PWA-
EdgeSimilar a Chrome con algunas adiciones-
FirefoxPanel "Storage" en lugar de "Application"Menos herramientas para PWA
SafariPanel "Storage" con funcionalidades limitadasMenos opciones para Service Workers

Estas configuraciones y herramientas avanzadas permiten a los desarrolladores abordar casos de uso complejos y optimizar sus aplicaciones para ofrecer la mejor experiencia posible a los usuarios en diferentes contextos y condiciones.