Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

469
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda