Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

449
Vistas
¿Cómo deshabilitar la ventana emergente "¿Abandonar el sitio? Es posible que los cambios que realizó no se guarden" en angular?

Estoy tratando de cerrar el navegador después de haber llegado a una página de confirmación de pedido y arroja una alerta como se muestra a continuación. Esto crea una idea errónea para el usuario de que sus cambios no se guardaron. Así que quiero evitar esta ventana emergente.

ingrese la descripción de la imagen aquí

Sé que esta alerta se activa debido al evento beforeunload . Solución que he probado:

 window.addEventListener("beforeunload",(event)=>{ return null; })

y

 window.onbeforeunload=null;

No estoy usando jQuery en mi aplicación. ¿Hay alguna otra forma en que pueda desactivar este evento para que no se active?

Enlaces que he probado:

Cómo deshabilitar/anular "¿Desea abandonar este sitio?" ¿alerta?

Deshabilite la ventana emergente "Los cambios que realizó pueden no guardarse"

Cómo deshabilitar "Es posible que los cambios realizados no se guarden". cuadro de diálogo (cromo)?

Ninguno de ellos está trabajando para mí.

¿Cómo puedo lograr esto sin jQuery?. Lo que me confunde es cómo manejar este evento para que no muestre la ventana emergente.

Estoy usando la versión de Chrome 101.0.4951.64

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Esto podría deberse a alguna biblioteca de terceros u otra funcionalidad en su código que escucha el evento "beforeunload" y tal vez modifica el valor de event.returnValue .

Esta solución puede funcionar para usted.

 window.addEventListener('beforeunload', function (event) { event.stopImmediatePropagation(); });

Esto evitará la ejecución de los demás oyentes de la cadena.

Es importante incluir este código en la parte superior de la aplicación para asegurarse de que su función se ejecute primero.

En el caso de Angular, un buen lugar puede ser el ngOnInit del AppComponent.

Chequea aquí.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Simplemente agregue una documentación de MDN del evento beforeunload como referencia.

https://developer.mozilla.org/en-US/docs/Web/API/Window/beforeunload_event

Cuando este evento devuelve (o establece la propiedad returnValue en) un valor distinto de nulo o indefinido, se le pedirá al usuario que confirme la descarga de la página.

Internet Explorer no respeta el valor de retorno nulo y lo mostrará a los usuarios como texto "nulo". Tienes que usar undefined para omitir el aviso.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda