Este ejemplo resume el método de escucha JS para los eventos de cierre de la ventana del navegador. Compártelo para su referencia, como sigue:
Método 1: (aplicable al navegador IE, y no hay un mensaje para actualizar, solo solicita al hacer clic en el botón Cerrar del navegador)
<script type = "text/javascript"> window.onbeforeunload = onClose; function onClose () {if (event.clientx> document.body.clientwidth && event.clienty <0 || event.altkey) {return "¿está dejando?";}} </script>Método 2: aplicable a IE y FF, sin distinguir entre actualizar y cerrar
<script type = "text/javaScript"> window.onbeforeunload = onbeforeunload_handler; Window.OnUnload = onUnload_handler; función onbeforeunload_handler () {var advertir = "confirmar salir?"; Advertencia de regreso; } function onUnload_handler () {var advertir = "gracias por venir"; alerta (advertencia); } </script>Método 3: aplicable a IE y FF, sin distinguir entre actualización y cierre, el más fácil
<script type = "text/javaScript"> window.onbeforeunload = onClose; function onClose () {return "¿Seguro que saldrá?";} </script>Método 4: Aplicable a IE y FF, sin distinguir entre actualización y cierre, ligeramente complicado
<script language = "javaScript"> var msg_unload = "Si deja el sistema de archivo en este momento, se perderá toda la información de operación. Window.event; event.returnValue = confirm_msg; }} // Cambie el método de escuchar a Browser actualizar y cerrar DescargueConfirm.clear = function () {window.onbeforeNeNLOAD = function () {};} unloadconfirm.set (msg_unload); </script>Método 5: Solo adecuado para botones de cierre y teclas de acceso directo en IE6, actualizar sin indicaciones.
<script type = "text /javaScript"> window.onbeforeunload = onClose; function onClose () {var advertencia = '<fmt: key de mensaje = "systemMessage.exitwarning" />'; var antes que elxit = '<fmt: key = "SystemMessage.BeForExitWarning" />'; if (event.clienty <0 && event.clientx> document.body.clientwidth-20 || event.clienty <0 && event.clientx <20 || event.altkey || event.ctrlkey || event.clienty> document.body.clientheight) {alerta (antes dexit); return advertir;}}} </scatch>Además, JS para determinar el tipo de navegador
<script type = "text/javaScript"> var sys = {}; var ua = navigator.useragent.tolowercase (); if (window.activexObject) sys.ie = ua.match (/msie ([/d.font>)/)`11] else if (document.getboxObjectFor) sys.firefox = ua.match (/firefox // ([/d.]+)/) [1] else if (window.messageEvent &&! document.getboxobjectFor) ua.match (/chrome // ([/d.]+)/) [1] else if (window.opera) sys.opera = ua.match (/opera. ([/d.]+)/) [1] else if (window.opendatabase) sys.safari = ua.match (/versión /// ([/d.]+)/) [1]; // prueba el siguiente if (sys.ie) document.write ('es decir:'+sys.ie); if (sys.firefox) document.write ('Firefox:'+sys.firefox); if (sys.chrome) document.write ('Chrome:'+sys.chrome); if (sys.opora) document.write ('ópera:'+sys.opora); if (sys.safari) document.write ('safari:'+sys.safari); </script>Diferenciar entre navegadores, es decir, FF se manejan por separado (extrañamente, es decir, a veces falla)
<script type = "text/javaScript"> window.onbeforeNoNLOAD = onClose; function onClose () {var sys = {}; var advertencia = '<fmt: mensaje key = "systemMessage.exitWarning"/>'; var ua = navigator.useragent.tolowerCeCase (); if (window.activexObject) sys.e.ie = uA.Matath (msie.matath (msieMath (/msiA ([/d.font>+)/)=1font>Else if (document.getboxObjectFor) sys.firefox = ua.match (/firefox // ([/d.]+)/) [1] if (sys.ie) {// para IEIF (event.clientx> document.body.clientwidth &¢.clienty <0 || event.altey) {Window ;}} if (sys.firefox) // para ffreturn advertencia;} </script>La forma más fácil de juzgar el tipo de navegador
<script type = "text/javaScript"> if (-[1,]) {alerta ("¡Esto no es un navegador!");} else {alerta ("Este es un navegador!");} </script>[1,] En el navegador estándar, se devolverá la cadena "1", que es equivalente a llamar [1,]. Tostring,
, Es decir, devuelve "1". Sin embargo, IE y el estándar pasarán la detección, así que use un signo negativo para arrojarlo a un número.
El estándar se puede convertir con éxito a 1, y 1 se convertirá automáticamente en verdadero en si, mientras que se convertirá en NAN y luego se convertirá automáticamente en FALSO.
Para obtener más información sobre el contenido relacionado con JavaScript, consulte los temas de este sitio: "Resumen de las técnicas de operación JSON en JavaScript", "Resumen de JavaScript Switching Effects and Techniques", "Resumen de JavaScript Algorithm Techniques", "Resumen de efectos de animación de JavaScript y técnicas", ",", ",", ",", ",", ",", ",", ",", ",", ",", ",", ",", ",", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", Estructuras de datos y técnicas de algoritmo "," Resumen de los algoritmos y técnicas transversales de JavaScript "y" Resumen del uso de operaciones matemáticas de JavaScript "
Espero que este artículo sea útil para la programación de JavaScript de todos.