¿Cómo puedo desactivar las ventanas emergentes "¿Estás seguro de que quieres salir de esta página" en Chrome?

Respuestas:

8

Los desarrolladores del sitio web implementan esos mensajes escuchando los eventos onunloado onbeforeunload.

Hay un script de usuario disponible de about.com que bloquea esos eventos.

Para instalar este script de usuario (u otros script de usuario, por ese motivo) primero debe instalar una extensión de Chrome llamada TamperMonkey .

Tenga cuidado al instalar scripts de usuario, son capaces de hacer cosas que quizás no desee. Solo instale los scripts de usuario de fuentes confiables.

Vidar Ramdal
fuente
ya no es útil ..
pjpj
esta solución no funciona
Argus
3
$(window).off('beforeunload.windowReload');

Esto me funcionó.

Ashwini KR
fuente
44
Un poco más de detalle sobre su solución propuesta ayudaría
Dave M
1

Usando jQuery

$(window).off('beforeunload'); // tested in IE 11 and Chrome 62

De los documentos de jQuery

Llamar a .off () sin argumentos elimina todos los controladores adjuntos a los elementos. Los controladores de eventos específicos se pueden eliminar en los elementos proporcionando combinaciones de nombres de eventos, espacios de nombres, selectores o nombres de funciones de controlador.

Entonces, en resumen, $(window)nos da una referencia al objeto de ventana que está envuelto en un objeto jQuery. Este contenedor nos da acceso a las API jQuery que están disponibles en el objeto (como .off). Al llamar .off()y proporcionar la cadena, beforeunloadse eliminarán todos los oyentes de eventos que anteriormente escuchaban el beforeunloadevento.

Nota: jugué con los enfoques vanilla JS que encontré después de una investigación rápida en Google. Sin embargo, no pude lograr que estos enfoques funcionen en el tiempo asignado que tuve para resolver este problema. Si alguien tiene un método no jQuery que todavía es compatible con varios navegadores, comente o publique una respuesta adicional. :)

wickdninja
fuente
No tuve éxito al usar la respuesta aceptada, y jQuery ya estaba disponible en la página.
wickdninja
2
Esta sería una mejor respuesta si explicara cómo usarlo e, idealmente, algo sobre cómo funciona.
Scott
0

así que para que el comando de @wickdninja funcione, primero instale Chrome Developer Tools. Luego puede abrir eso y verá una pestaña para 'Consola'. Haga clic en la pestaña Consola. Luego, para habilitar jQuery, escriba estos comandos:

var jqry = document.createElement('script');
jqry.src = "https://code.jquery.com/jquery-3.3.1.min.js";
document.getElementsByTagName('head')[0].appendChild(jqry);
jQuery.noConflict();

Luego escriba:

$(window).off('beforeunload');

después de eso puedo abrir / cerrar mi gmail sin obtener el mensaje "¿Dejar?" rápido. https://developers.google.com/web/tools/chrome-devtools/console/javascript

espero que esto ayude.

Lee Hounshell
fuente
-4

Puede deshabilitar Javascript sitio por sitio. Vaya a Configuración -> Mostrar configuración avanzada -> Privacidad -> Configuración de contenido -> Javascript -> Administrar excepciones.

Alexis Huxley
fuente
44
Sí, pero eso deshabilitará más que solo el mensaje.
BenjiWiebe
En FIrefox, al menos, no permitir que Facebook ejecute JavaScript ni siquiera logra lo que el OP pretende, ya que la página simplemente sigue recargando el script sin ejecutarlo.
brokkr