Este exemplo resume o método de escuta do JS para eventos de fechamento da janela do navegador. Compartilhe -o para sua referência, como segue:
Método 1: (aplicável ao navegador do IE, e não há prompt para refrescante, apenas solicitando ao clicar no botão Fechar do navegador)
<script type = "text/javascript"> window.onbeforeunload = onclose; function onclose () {if (event.clientx> document.body.clientwidth && event.clienty <0 || event.altKey) {return "você está saindo?Método 2: Aplicável ao IE e FF, sem distinguir entre atualização e fechamento
<script type = "text/javascript"> window.onbeforeunload = onBeforeUnload_handler; window.onunload = Onunload_handler; função onBeforeUnload_Handler () {var warning = "Confirmar a saída?"; Aviso de retorno; } função onunload_handler () {var warning = "obrigado por vir"; alerta (aviso); } </script>Método 3: Aplicável ao IE e FF, sem distinguir entre atualização e fechamento, o mais fácil
<script type = "text/javascript"> window.onbeforeunload = onclose; function onclose () {return "Você certamente sairá?";} </sCript>Método 4: aplicável ao IE e FF, sem distinguir entre atualização e fechamento, ligeiramente complicado
<Script Language = "Javascript"> var msg_unload = "Se você deixar o sistema de arquivamento no momento, todas as informações de operação serão perdidas. Você sai?"; var UNOLLOLGINGCONFIRM = {}; // Ative o método de ouvir o BrowSer Refresh e Close UplroadConfirm.Set = FUNÇÃO (Confirm_msg) {Waild.onwerload Window.Event; event.returnValue = confirm_msg; }} // Altere o método de ouvir a atualização do navegador e feche o UNLOLLFIRNFIRM.CLEAR = function () {Window.onBeforeUnLoad = function () {};} UNLOLDCONFIRM.SET (msg_unload); </script>Método 5: Somente adequado para botões de fechamento e teclas de atalho sob o IE6, atualize sem prompts
<script type = "text /javascript"> window.onbeforeunload = onclose; function onclose () {var warning = '<fmt: message key = "systemMessage.exitWarning" />'; var antes do /'<fmt: message key = "SystemMesage.BeexitWarning" />; 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) {alert (antes daxit);Além disso, JS para determinar o tipo de navegador
<script type = "text/javascript"> var sys = {}; var ua = navegator.UserAgent.TolowerCase (); if (window.activexObject) sys.ie = ua.match (/msie ([/d. ]+)/)/1] else if (document.getboxobjectfor) sys.firefox = ua.match (/firefox // ([/d.]+)/) [1] se (window.messageEvent &&! ua.match (/chrome // ([/d.]+)/) [1] else if (window.opera) sys.opera = ua.match (/opera. ([/d.]+)/) [1] else if (window.opendatabase) sys.safari = ua.match (/// ([/d.] // Teste o seguinte if (sys.ie) document.write ('ie:'+sys.ie); if (sys.firefox) document.write ('firefox:'+sys.firefox); if (sys.chrome) document.write ('Chrome:'+sys.chrome); if (sys.opera) document.write ('Ópera:'+sys.opera); if (sys.safari) document.write ('safari:'+sys.safari); </script>Diferencie entre os navegadores, ou seja, e FF são tratados separadamente (estranhamente, ou seja, às vezes falha)
<script type = "text/javascript"> window.OnBeforeUnLoad = onclose; function onclose () {var sys = {}; var warning = '<fmt: message key = "SystemMessage.exitwarning"/>'; var ua = Navigator.useragent.TolOwerCase (); se ([/d.) /)/):1] else (document.getboxobjectfor) sys.firefox = ua.match (/firefox // ([/d.]+)/) [1] if (sys.ie) {// para ieif (event.clientx> document.body.client.clientwidorth &&vent.clienty <0) ;}} if (sys.firefox) // para aviso de ffreturn;} </sCript>A maneira mais fácil de julgar o tipo de navegador
<script type = "text/javascript"> if (-[1,]) {alert ("Este não é o navegador do IE!");} else {alert ("Este é o navegador do IE!");} </script>[1,] No navegador padrão, a string "1" será retornada, o que é equivalente a chamar [1,]. ToString,
, Ou seja, retorna "1". No entanto, o IE e o padrão passarão na detecção, portanto, use um sinal negativo para lançá -lo em um número.
O padrão pode ser convertido com sucesso em 1 e 1 se converterá automaticamente em true em se, enquanto o IE se converter para a NAN e depois se converterá automaticamente para false!
Para obter mais informações sobre o conteúdo relacionado ao JavaScript, consulte os tópicos deste site: "Resumo das técnicas de operação JSON em JavaScript", "Resumo dos efeitos e técnicas de comutação de JavaScript", "Resumo de Javascript Search, Summar Techniques de Javscript Effects and Techniques" Summary of JAV de Javscript Effects e Techniques "" Summary of JAV de Javscript Effects and Techniques "" Summary of Jav "JArcript Effects e Techniques" "Summary of JAV de Javscript Effects e Techniques" "Summary of JAV" JAVING EFETHING EFETHENS " Estruturas de dados e técnicas de algoritmo "," Resumo dos algoritmos e técnicas de travessia de JavaScript "e" Resumo do uso de operações matemáticas de JavaScript "
Espero que este artigo seja útil para a programação JavaScript de todos.