1. หลีกเลี่ยงกล่องพรอมต์ป๊อปอัพ
ฉันค้นหามากบนอินเทอร์เน็ตและคำตอบส่วนใหญ่จะถูกตั้งค่าเป็น window.onbeforeunload = null แต่พวกเขาไม่ถูกต้องหลังจากการทดลองใช้
หลังจากออกจากคำถามนี้เป็นเวลาสองวันฉันกลับไปคิดอีกครั้ง ในที่สุดก็พบคำตอบ ฉันจะแบ่งปันกับคุณที่นี่:
คลายเนื้อหาป๊อปอัพหลังจาก jQuery ออกจากหน้า (1) ปลดปล่อยก่อนและตั้งค่าเนื้อหาป๊อปอัพเป็น NULL
การคัดลอกรหัสมีดังนี้:
$ (function () {
$ (หน้าต่าง) .UNBIND ('อยู่ข้างหน้า');
window.onbeforeunload = null;
-
2. อื่น ๆ ที่เกี่ยวข้อง [Abstract]
(1) onunload และ onbeforeunload เหตุการณ์ของหน้าต่าง
ต่อไปนี้หมายถึงการใช้งานใน JS แทนที่จะเป็น <body onunload = "close ()"> วิธี!
เพราะสิ่งนี้เกิดขึ้นเมื่อขนถ่ายร่างกายและไม่ว่าจะเป็นเบราว์เซอร์ใด ๆ การขนถ่ายร่างกายจะขนถ่ายร่างกายเมื่อปิด!
รุ่นที่ 1:
การคัดลอกรหัสมีดังนี้:
ฟังก์ชั่นปิด () {
การแจ้งเตือน ("นี่คือการทดสอบ");
-
window.onbeforeunload = ปิด;
รุ่น 2:
การคัดลอกรหัสมีดังนี้:
ฟังก์ชั่นปิด () {
if (document.body.clientwidth-event.clientx <170 && event.clienty <0 || event.altkey)
-
การแจ้งเตือน ("นี่คือการทดสอบ");
-
-
window.onbeforeunload = ปิด;
คัดลอกรหัส
เกี่ยวกับรุ่น 1:
1). รีเฟรชหน้าต่างหลายบานและหน้าต่างเดี่ยวเหมาะ
2). หน้าต่างเดี่ยวเช่นปิดทริกเกอร์ IE ทั้งหมด
3) .ie7 ปิดทริกเกอร์หน้าเดียวในหลายหน้าต่าง
4) ทริกเกอร์การรีเฟรชหลายหน้าต่างอื่น ๆ การปิดเดี่ยวและปิดทั้งคนไม่ได้ทริกเกอร์
สำหรับรุ่น 2:
1). eie หน้าต่างเดี่ยวและ IE7 หลายหน้าต่างจะต้องปิดก่อนที่จะทริกเกอร์
2). รีเฟรชเบราว์เซอร์หลายหน้าต่างอื่น ๆ ปิดหน้าเดียวและปิดทั้งหน้าโดยไม่ต้องทริกเกอร์
(2) สร้างกล่องพรอมต์ลา
ผูกเหตุการณ์ก่อนการโหลด
การคัดลอกรหัสมีดังนี้:
$ (window). -bind ('oughload', function () {
Return 'เนื้อหาที่คุณป้อนยังไม่ได้รับการบันทึก แน่ใจหรือว่าคุณออกจากหน้านี้? -
-
ปลด
การคัดลอกรหัสมีดังนี้:
$ (หน้าต่าง) .UNBIND ('อยู่ข้างหน้า');
window.onbeforeunload = null;
ข้างต้นเป็นเนื้อหาทั้งหมดที่อธิบายไว้ในบทความนี้ฉันหวังว่าคุณจะชอบ