แม้จะมีสิ่งที่บทสนทนาเหล่านี้พูด แต่พวกเขาไม่สามารถทำสิ่งที่เป็นอันตรายได้ คุณสามารถคลิกตกลงหรือออกจากหน้าเพื่อปิดหน้าการละเมิดโดยไม่มีผลกระทบใด ๆ
หากกล่องโต้ตอบยาวเกินไปและปุ่มไม่ได้อยู่ที่หน้าจอคุณสามารถกดEnterเพื่อยืนยันการปิดหน้า
หากคุณไม่มีแป้นพิมพ์ (อุปกรณ์หน้าจอสัมผัส) ให้ใช้ bookmarklet ด้านล่างหรือดูคำตอบของ SimpleSimon (Chrome เท่านั้น)
ตอนนี้รายละเอียดบางอย่าง
มีวิธีเดียวที่จะดำเนินการบางอย่างเมื่อหน้าปิด: ผ่านonbeforeunload
เหตุการณ์ แน่นอนว่าสิ่งนี้สามารถใช้กับผู้ใช้ได้อย่างง่ายดาย (ตัวอย่างเช่นเมื่อเขาพยายามปิดหน้าเว็บมันจะเปิดสำเนาในหน้าต่างใหม่) ดังนั้นจึงมีข้อ จำกัด มาก
จริงๆแล้วสิ่งเดียวที่สมเหตุสมผลที่คุณทำได้คือเปิดกล่องโต้ตอบพร้อมข้อความที่กำหนดเองและปุ่มสองปุ่มหนึ่งปุ่มเพื่อออกจากหน้าและอีกหนึ่งปุ่มอยู่ สิ่งเดียวที่เพจสามารถทำได้กับไดอะล็อกนั้นคือการกำหนดข้อความ ปุ่มและแถบหัวเรื่องเปลี่ยนไม่ได้ นี่คือภาพหน้าจอจาก Firefox 3.6: ( Firefox รุ่นเก่ามาก )
แน่นอนว่าเมื่อคุณให้คนอื่นแสดงป๊อปอัปด้วยข้อความใด ๆและเพียงแค่ปุ่มOK / Cancelคุณจะมั่นใจได้ว่าไม่ช้าก็เร็วบางคนก็จะใช้มันเพื่อคุณ
ในภาพหน้าจอด้านบนตกลงหมายถึงเพียงแค่ "ออกจากหน้านี้" แต่คำอธิบายที่กำหนดเองจะแนะนำอะไรเพิ่มเติม ดังนั้นเบราว์เซอร์จึงเปลี่ยนไดอะล็อกดังนั้นจึงยากที่จะทำให้เข้าใจผิด ตัวอย่างเช่น Firefox รุ่นล่าสุดดูเหมือนจะไม่สนใจข้อความที่กำหนดเอง:
Chrome แสดงข้อความที่กำหนดเอง แต่จะต่อท้ายคำถามที่ถามผู้ใช้ว่าเขาต้องการทำอะไรและปุ่มแจ้งการกระทำของพวกเขาอย่างชัดเจน: (แต่ยังคงมีแนวโน้มข้อความ "วิดีโอแมว"!)
นี่คือ Internet Explorer 10 เช่นกัน "cat-tend"
Opera 12 จะไม่สนใจonbeforeunload
กิจกรรมและหากคุณพยายามปิดแท็บเช่นนั้นกิจกรรมนั้นจะปิดเหมือนกัน ฉันยังไม่ได้ทดสอบ Opera ล่าสุด
ดังนั้นเพื่อสรุปสิ่งที่สำคัญที่สุด:
- หน้าไม่สามารถแสดงข้อความโต้ตอบกับข้อความใด ๆ เว็บไซต์สามารถขอให้เบราว์เซอร์แสดงข้อความโต้ตอบพร้อมข้อความที่กำหนดเอง แต่เบราว์เซอร์สามารถละเว้นได้ทั้งหมด (Opera) ใช้ข้อความทั่วไป (Firefox) หรือพูดอย่างชัดเจนว่าจะเกิดอะไรขึ้น (Chrome, IE)
- รายละเอียดของกล่องโต้ตอบขึ้นอยู่กับเบราว์เซอร์ที่คุณใช้ แต่ปุ่มนั้นไม่เปลี่ยนรูปเสมอ หากพวกเขาจะไม่พูดอย่างชัดเจนว่าใครทำอะไรก็โอเคหมายความว่า "ออกจากหน้านี้ * และยกเลิกคือ" อยู่ที่นี่ "
- เว็บไซต์ไม่สามารถดำเนินการใด ๆ ที่เป็นอันตรายหากคุณตัดสินใจที่จะทิ้งไว้ ไฟล์ของคุณจะไม่ถูกแทนที่ด้วยวิดีโอแมวคุณจะไม่ถูกน้ำท่วมด้วยไวรัส 135234 และ FBI จะไม่ได้รับแจ้งว่าคุณมีซอฟต์แวร์ผิดกฎหมายในคอมพิวเตอร์ของคุณ
คุณสามารถปิดการใช้งานonbeforeunload
กิจกรรมได้หากคุณต้องการป้องกันไม่ให้เพจออกจากหรืออยู่ได้อย่างมีประสิทธิภาพ นี่เป็นเบราว์เซอร์UserScript (เลื่อนลงถ้าลิงค์ตาย)
หากคุณอยู่ในเว็บไซต์ที่ระบุว่ามีป๊อปอัปที่เป็นอันตรายและคุณยังกลัวที่จะคลิกทิ้งคุณสามารถสร้าง bookmarklet เพื่อลบออกได้ คลิกขวาที่แถบบุ๊กมาร์กของคุณเลือกบุ๊กมาร์กใหม่ (หรือเทียบเท่า) แล้ววางเป็น URL: (เป็นเพียงโค้ดย่อจากลิงก์ด้านบน)
javascript:var x=document.createElement('script');x.type='text/javascript';x.innerHTML='onbeforeunload=function(){};';document.body.appendChild(x);
จากนั้นเพียงคลิกที่บุ๊คมาร์คนั้นและป๊อปอัปจะถูกลบออกจากหน้าเว็บที่ใช้งานอยู่ชั่วคราว
หากคุณต้องการทดสอบว่าป๊อปอัปเหล่านั้นดูในเบราว์เซอร์ของคุณหรือทดสอบ bookmarklet / userscript ให้สร้างไฟล์ข้อความด้วยรหัสต่อไปนี้และบันทึกเป็น.html
ไฟล์:
<html><body onbeforeunload="return 'My custom text.'">_</body></html>
ดูเหมือนว่าการเชื่อมโยง UserScript เป็นสิทธิที่ตายแล้วในขณะนี้ดังนั้นนี่คือสำเนาสกัดจากarchive.org แคช เครดิตทั้งหมดสำหรับผู้สร้างสคริปต์ต้นฉบับ
// ==UserScript==
// @name Disable - remove onbeforeunload
// @namespace
// @description Disable - remove the annoying onbeforeunload event
// @include *
// @author netvisiteurs.com
// ==/UserScript==
var x = document.createElement('script');
x.type = 'text/javascript';
x.innerHTML = 'onbeforeunload = function() {};';
document.body.appendChild(x);