ตัวอย่างนี้สรุปวิธีการฟัง JS สำหรับเหตุการณ์ปิดหน้าต่างเบราว์เซอร์ แบ่งปันสำหรับการอ้างอิงของคุณดังนี้:
วิธีที่ 1: (ใช้ได้กับเบราว์เซอร์ IE และไม่มีพรอมต์สำหรับการรีเฟรชเท่านั้นพร้อมให้บริการเฉพาะเมื่อคลิกปุ่มปิดเบราว์เซอร์)
<script type = "text/javaScript"> window.onbeforeforeunload = onClose; function onClose () {ถ้า (event.clientx> document.body.clientWidth && event.clienty <0 || event.altkey) {return "วิธีที่ 2: ใช้ได้กับ IE และ FF โดยไม่แยกความแตกต่างระหว่างการรีเฟรชและการปิด
<script type = "text/javascript"> window.onbeforeforload = onbeforeunload_handler; window.onunload = onunload_handler; ฟังก์ชั่น onbeforeunload_handler () {var warning = "ยืนยันทางออก?"; คำเตือนกลับ; } ฟังก์ชั่น onunload_handler () {var warning = "ขอบคุณที่มา"; การแจ้งเตือน (คำเตือน); } </script>วิธีที่ 3: ใช้ได้กับ IE และ FF โดยไม่แยกแยะระหว่างการรีเฟรชและการปิดที่ง่ายที่สุด
<script type = "text/javaScript"> window.onbeforeforeunload = onClose; function onclose () {return "คุณแน่ใจว่าจะออกหรือไม่";} </script>วิธีที่ 4: ใช้ได้กับ IE และ FF โดยไม่แยกความแตกต่างระหว่างการรีเฟรชและการปิดซับซ้อนเล็กน้อย
<script language = "JavaScript"> var msg_unload = "ถ้าคุณออกจากระบบเก็บถาวรในเวลานี้ข้อมูลการดำเนินการทั้งหมดจะหายไปคุณจะออกไปหรือไม่?"; var unloadConfirm = {}; // เปิดใช้งานวิธีการฟังการรีเฟรชของเบราว์เซอร์ window.event; Event.ReturnValue = ยืนยัน _MSG; }} // เปลี่ยนวิธีการฟังการรีเฟรชเบราว์เซอร์และปิด unloadConfirm.clear = function () {window.onbeforeunload = function () {};} unloadConfirm.set (msg_unload); </script>วิธีที่ 5: เหมาะสำหรับปุ่มปิดและปุ่มทางลัดภายใต้ IE6, รีเฟรชโดยไม่มีพรอมต์
<script type = "text /javascript"> window.onbeforeforload = onClose; ฟังก์ชั่น onClose () {var warning = '<fmt: message key = "systemMessage.exitWarning" />'; var beforeExit = '<fmt: ข้อความข้อความ = 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)นอกจากนี้ JS เพื่อกำหนดประเภทเบราว์เซอร์
<script type = "text/javascript"> var sys = {}; var ua = navigator.useragent.toLowercase (); if (window.activexObject) sys.ie = ua.match (/msie ([/d.lame like+)/) [1] อื่น ๆ ถ้า (document.getboxobjectfor) sys.firefox = ua.match (/firefox // (/d.]+)/) [1] อื่น ๆ ua.match (/chrome // ([/d.]+)/) [1] อื่น ๆ ถ้า (window.opera) sys.opera = ua.match (/โอเปร่า ([/d.]+)/) [1] อื่น ๆ ถ้า (window.opendatabase) sys.safari = ua.match // ทดสอบสิ่งต่อไปนี้หาก (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 ('opera:'+sys.opera); if (sys.safari) document.write ('Safari:'+sys.safari); </script>แยกความแตกต่างระหว่างเบราว์เซอร์เช่นและ FF แยกต่างหาก (บางครั้งก็ผิดพลาดเช่นบางครั้งก็ล้มเหลว)
<script type = "text/javaScript"> window.onbeforeforeunload = onClose; ฟังก์ชั่น onClose () {var sys = {}; var warning = '<fmt: ข้อความข้อความ = "systemmessage.exitwarning"/>'; ([/d.lame+ )/) [1 เหมือนกันถ้า (document.getboxobjectfor) sys.firefox = ua.match (/firefox // ([/d.]+)/) [1] ถ้า (sys.ie) {// สำหรับ ieif คำเตือน;}} ถ้า (sys.firefox) // สำหรับคำเตือน ffreturn;} </script>วิธีที่ง่ายที่สุดในการตัดสินประเภทเบราว์เซอร์
<script type = "text/javascript"> if (-[1,]) {alert ("นี่ไม่ใช่เบราว์เซอร์!");} else {Alert ("นี่คือเบราว์เซอร์ IE!");} </script>[1,] ในเบราว์เซอร์มาตรฐานสตริง "1" จะถูกส่งคืนซึ่งเทียบเท่ากับการโทร [1,]. ToString,
เช่นกลับมา "1," อย่างไรก็ตาม IE และมาตรฐานจะผ่านการตรวจจับดังนั้นให้ใช้เครื่องหมายลบเพื่อส่งมันเป็นตัวเลข
มาตรฐานสามารถแปลงได้สำเร็จเป็น 1 และ 1 จะแปลงเป็นจริงโดยอัตโนมัติในขณะที่ IE จะแปลงเป็น NAN แล้วแปลงเป็นเท็จโดยอัตโนมัติ!
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับเนื้อหาที่เกี่ยวข้องกับ JavaScript โปรดตรวจสอบหัวข้อของไซต์นี้: "สรุปเทคนิคการดำเนินงาน JSON ใน JavaScript", "บทสรุปของเอฟเฟกต์การสลับและเทคนิคการสลับ JavaScript", "สรุปเทคนิคการค้นหา JavaScript และเทคนิคการสรุป JavaScript โครงสร้างข้อมูลและเทคนิคอัลกอริทึม "," บทสรุปของอัลกอริทึมและเทคนิคการสำรวจ JavaScript Traversal "และ" สรุปการใช้งานทางคณิตศาสตร์ JavaScript "
ฉันหวังว่าบทความนี้จะเป็นประโยชน์กับการเขียนโปรแกรม JavaScript ของทุกคน