From b7d9e0f9cd50511cd95b9d83eb93730512c45022 Mon Sep 17 00:00:00 2001 From: josedario87 Date: Fri, 17 Oct 2025 05:03:10 -0600 Subject: [PATCH] Fix: Interceptor debe revisar target antes de parsear URL - Mover verificaci\u00f3n de target='_blank' antes del parseo de URL - Esto garantiza que links con target='_blank' nunca sean interceptados - Permite que desktop abra PWAs en nuevas ventanas correctamente --- nuxt4/app/plugins/pwa-link-handler.client.ts | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/nuxt4/app/plugins/pwa-link-handler.client.ts b/nuxt4/app/plugins/pwa-link-handler.client.ts index 28d5f91..28e4fb1 100644 --- a/nuxt4/app/plugins/pwa-link-handler.client.ts +++ b/nuxt4/app/plugins/pwa-link-handler.client.ts @@ -30,19 +30,19 @@ export default defineNuxtPlugin(() => { const href = link.getAttribute('href') if (!href) return + // Si el enlace tiene target="_blank", NUNCA interceptar + // Esto permite que en desktop los enlaces abran nuevas ventanas (PWAs) + const linkTarget = link.getAttribute('target') + if (linkTarget === '_blank') { + console.debug('Permitiendo apertura de nueva ventana para:', href) + return + } + try { const url = new URL(href, window.location.origin) // Solo interceptar enlaces que apunten a este origin if (url.origin === appOrigin) { - // Si el enlace tiene target="_blank", no interceptar - // Esto permite que en desktop los enlaces abran nuevas ventanas (PWAs) - const linkTarget = link.getAttribute('target') - if (linkTarget === '_blank') { - console.debug('Permitiendo apertura de nueva ventana para:', href) - return - } - // Prevenir comportamiento por defecto event.preventDefault()