ทุกคนรู้ว่า window.close () ใช้เพื่อปิดหน้าต่างและรองรับทั้ง IE และ Firefox
เพื่อให้ผู้ใช้ควบคุมเบราว์เซอร์ได้อย่างสมบูรณ์เมื่อปิดหน้าต่างที่ไม่ใช่เปิดใน IE กล่องโต้ตอบจะปรากฏขึ้นเมื่อปิดหน้าต่างที่ไม่ใช่เปิดขอให้ผู้ใช้ถามวิธีลบช่องนี้โปรดดูรหัสด้านล่าง
ฟังก์ชั่น winclose () {window.top.opener = null; window.close (); -เพียงเพิ่ม window.top.opener = null ก่อน window.close
บางคนบอกว่า Firefox ไม่สนับสนุนอย่างใกล้ชิด แต่มันผิดจริง เหตุผลที่ window.close ไม่สามารถใช้ใน Firefox ได้เพราะ Firefox ไม่สามารถปิดหน้าเว็บที่เปิดโดยผู้ใช้โดยค่าเริ่มต้น คุณสามารถตั้ง Firefox ด้วยวิธีนี้
เปิด Firefox และป้อนเกี่ยวกับ: config ในแถบที่อยู่
ค้นหารายการ dom.allow_scripts_to_close_windows และเปลี่ยนเป็นจริง
มันควรจะบอกว่าไม่มีปัญหาในการเปิดกล่องโต้ตอบใน Firefox
<script> function a () {window.open ('', '_ parent', ''); window.opener = window; window.close (); } </script>เรียกใช้สิ่งนี้อีกครั้งและคุณสามารถปิดได้ภายใต้ FF
เมื่อเห็นสิ่งเหล่านี้หากลูกค้าถูกขอให้ตั้งค่าพวกเขาหมายความว่าฟังก์ชั่นนี้ไม่ได้ทำดังนั้นผลลัพธ์จึงไม่น่าพอใจมากและฉันไม่รู้ว่ามีทางเลือกอื่นที่ดีอื่น ๆ หรือไม่
Postscript: ใช้การเปิดหน้าต่างใหม่จากนั้นปิดหน้านี้เพื่อปิดหน้าปัจจุบัน ขอบคุณ Strangebank แต่น่าแปลกที่ฉันไม่ประสบความสำเร็จเมื่อฉันใช้ FF2 เมื่อวานนี้ แต่วันนี้ฉันประสบความสำเร็จด้วย 3 มันเป็นนรกจริงๆ วันนี้ฉันใช้ 2 ในเครื่องของเพื่อนร่วมงานเพื่อทดสอบและมันก็โอเคอีกครั้ง แต่เป็นการดีที่จะแก้ปัญหาในตอนเช้า -
index.html
<a href = "c.html" target = "_ blank"> ddddddddd </a>
C.HTML
<a href = "JavaScript: window.open ('', '_ parent', ''); window.close ();"> ปิดหน้าต่าง </a>