ข้อความ Javascript ก่อนปิดหน้าต่าง JavaScript - วัตถุหน้าต่าง: การเปิดและปิดหน้าต่าง เราใช้อะไรเพื่อทดสอบสิ่งนี้?

ฉันถูกถามหลายครั้งแล้วว่าจะจัดการกับการปิดแท็บได้อย่างไร สมมติว่าผู้ใช้ต้องการปิดไซต์ของคุณ และคุณสร้างหน้าต่างป๊อปอัปขึ้นมาและถามว่า: " คุณแน่ใจไหม?" หรือเปลี่ยนเส้นทางไปยังไซต์อื่น แน่นอนว่าวิธีการเหล่านี้สร้างความรำคาญให้กับผู้ใช้มาก ดังนั้นฉันไม่แนะนำให้ใช้มัน โชคดีที่เบราว์เซอร์จัดการสิ่งนี้ได้แย่มาก อย่างไรก็ตาม ยังมีตัวเลือกบางอย่างสำหรับการจัดการการปิดแท็บ

สามารถถามผู้ใช้ว่า: " เขาแน่ใจหรือว่าเขาต้องการปิดเพจ?" ต่อไปนี้คือวิธีที่คุณสามารถใช้ประมวลผลการปิดแท็บนี้:


window.onbeforeunload = ฟังก์ชั่น () (
กลับ "สิ่งที่จะบอกผู้ใช้";
}

รหัสนี้จะทำงานใน Firefox, IE, Chrome แต่จะใช้งานไม่ได้ใน Opera (เบราว์เซอร์นี้ไม่ประมวลผลก่อนยกเลิกการโหลดเลย) ในกรณีนี้ ฟังก์ชันการประมวลผลเองสามารถส่งคืนสตริงได้เท่านั้น กล่าวคือ จะไม่มีการเปลี่ยนเส้นทางทำงานที่นั่น

สตริงที่ส่งคืนจะแสดงในหน้าต่างยืนยันใน Chrome และ IE บรรทัดนี้ไม่แสดงใน Firefox

“เหตุการณ์ onbeforeunload ไม่แสดงข้อความที่มาจากไซต์ มีเพียงข้อความมาตรฐานเท่านั้น” ซึ่งตัดสินโดยความคิดเห็น ในที่สุดและไม่สามารถเพิกถอนได้ ในเรื่องนี้ฉันต้องการเขียนเล็กน้อยเกี่ยวกับประวัติความเป็นมาของปัญหา

หลายคนรู้ดีว่าต้องขอบคุณ onbeforeunload คุณสามารถขอให้ผู้ใช้ไม่ออกจากหน้าเว็บได้หากเขามีข้อมูลที่ยังไม่ได้บันทึก (เช่น เขียนในรูปแบบ แต่ไม่ได้ส่งข้อความไปยังฟอรัม) หากต้องการทำสิ่งนี้ เพียงเพิ่มบางสิ่งเช่น JavaScript นี้:
window.onbeforeunload = function (evt) ( var message = "Document "foo" is not save. คุณจะสูญเสียการเปลี่ยนแปลงหากคุณออกจากหน้า"; if (typeof evt == "undef") ( evt = window.event ; ) if (evt) ( evt.returnValue = message; ) ส่งข้อความกลับ; )
หลังจากนี้ หากผู้ใช้ต้องการออกจากหน้า (ในทางใดทางหนึ่ง - ปิดแท็บ ปิดเบราว์เซอร์ทั้งหมด โหลดหน้าใหม่ ป้อนที่อยู่ใหม่ในแถบที่อยู่ ไปที่บุ๊กมาร์ก ฯลฯ) เขา จะเห็นคำขอยืนยันและออกจากเพจสามารถยกเลิกได้ ก่อนหน้านี้ผู้เขียนเว็บไซต์ไร้ยางอายพยายามใช้หน้าต่างนี้เพื่อหลอกผู้ใช้และให้เขาอยู่ในหน้านั้น เช่น ใช้ข้อความ “คลิกตกลงเพื่อทำงานกับไซต์ต่อไปและยกเลิกเพื่อปิด” (อันที่จริงปุ่มใช้งานได้อีกแบบหนึ่ง ทางรอบ). หรือแม้แต่สิ่งที่น่ากลัวกว่าเช่น “คลิกตกลงเพื่อยืนยันการเรียกเก็บเงิน 1,000 ดอลลาร์จากบัตรเครดิตของคุณ”

จากนั้นเบราว์เซอร์ก็ฉลาดขึ้นและเริ่มเพิ่มข้อความช่วยเหลือเพื่อทำให้การหลอกลวงผู้ใช้ทำได้ยากขึ้น ตัวอย่างเช่น นี่คือวิธีที่ IE8 ทำ:

ข้อความที่คล้ายกันเกือบจะอยู่ใน Firefox 3:


หากคุณอ่านทั้งหมด จะชัดเจนว่าไซต์รายงานอะไรและเบราว์เซอร์รายงานอะไร อย่างไรก็ตาม คุณยังสามารถโกงได้


ที่นี่เราจะเห็นคำอธิบายที่ชัดเจนของการดำเนินการบนปุ่มโดยตรง เป็นเรื่องยากอยู่แล้วที่จะโน้มน้าวให้ผู้ใช้คลิก "ออก" เพื่ออยู่และ "อยู่" เพื่อออก ในความคิดของฉัน วิธีแก้ปัญหานี้เหมาะสมและสามารถปิดหัวข้อนี้ได้ โดยทั่วไปดังที่คุณทราบแล้วว่า OK แบบไร้หน้าในเกือบทุกกล่องโต้ตอบควรถูกแทนที่ด้วยชื่อของการดำเนินการ (เช่น "ลบไฟล์", "ค้นหา", "เพิ่มบรรทัด", "เปิดไฟล์" ฯลฯ ) ซึ่งจะช่วยลดจำนวนข้อผิดพลาดของผู้ใช้ แม้ว่าคุณจะสามารถควบคุมข้อความในบทสนทนาได้อย่างสมบูรณ์ก็ตาม

ละครเรื่องนี้มีข้อผิดพลาด 641509 คืออะไร? ความจริงก็คือการยืนยันนี้ใน Firefox 4 ขึ้นไปมีลักษณะดังนี้:


อย่างที่คุณเห็นข้อความที่กำหนดเองหายไปโดยสิ้นเชิง ในเวอร์ชัน 4 เว็บไซต์ไม่สามารถให้ข้อความเพิ่มเติมใด ๆ แก่ผู้ใช้หรืออธิบายว่าทำไมโดยเฉพาะเจาะจงจึงไม่ต้องการให้ผู้ใช้ออกไป สมมติว่าหากคุณใช้อินเทอร์เฟซสำหรับการทำงานกับเอกสารจำนวนมากในหน้าต่างเดียวและหนึ่งในนั้นไม่ได้รับการบันทึกคุณสามารถบอกได้ว่าเอกสารใดโดยเฉพาะ แต่ใน Firefox คุณจะไม่เข้าใจสิ่งนี้ บางทีคุณอาจไม่ต้องการบันทึกมัน และหากคุณเห็นข้อความ คุณจะออกจากเพจไปอย่างใจเย็น แต่มิฉะนั้น คุณจะไม่รู้ว่าเกิดอะไรขึ้น ในแผ่นงาน

ในบทนี้ เราจะเรียนรู้เกี่ยวกับวิธีการต่างๆ ของวัตถุหน้าต่าง ซึ่งช่วยให้คุณสามารถเปิดและปิดหน้าต่าง ตรวจสอบว่าหน้าต่างปิดอยู่หรือไม่ และยังได้รับชื่อภายใน ฯลฯ

วิธีการของวัตถุหน้าต่างคือ open() , close() , print() , focus() และ blur()

ในส่วนนี้ เราจะดูวิธีการต่อไปนี้ของวัตถุหน้าต่าง:

  • open() - ออกแบบมาเพื่อเปิดหน้าต่าง (แท็บ)
  • close() - ออกแบบมาเพื่อปิดหน้าต่าง ส่วนใหญ่ใช้เพื่อปิดหน้าต่างที่เปิดโดยใช้เมธอด open()
  • print() - ออกแบบมาเพื่อพิมพ์เนื้อหาของหน้าต่าง
  • focus() - ออกแบบมาเพื่อถ่ายโอนโฟกัสไปยังหน้าต่างที่ระบุ
  • blur() - ออกแบบมาเพื่อลบโฟกัสออกจากหน้าต่างที่ระบุ
เปิด () วิธีการ ได้รับการออกแบบมาเพื่อเปิดหน้าต่างใหม่ (แท็บ) ในเบราว์เซอร์และมีไวยากรณ์ดังต่อไปนี้:

พารามิเตอร์วิธีการ:

  • พารามิเตอร์แรกระบุ URL ของเพจที่ต้องโหลดลงในหน้าต่างนี้ หากไม่ได้ระบุค่าของพารามิเตอร์นี้ หน้าว่าง (เกี่ยวกับ:ว่าง) จะปรากฏขึ้นในหน้าต่าง
  • พารามิเตอร์ที่สองของวิธีการเปิดระบุค่าของแอตทริบิวต์เป้าหมายหรือชื่อของหน้าต่าง รองรับค่าต่อไปนี้:
    • _blank - โหลด URL ลงในหน้าต่างใหม่ (แท็บ) นี่คือค่าเริ่มต้น
    • _parent - โหลด URL ลงในเฟรมหลัก หากไม่มีอยู่ URL จะถูกโหลดลงในหน้าต่างปัจจุบัน (แท็บ)
    • _self - โหลด URL ลงในหน้าต่างปัจจุบัน
    • _top - ยกเลิกเฟรมทั้งหมดและโหลด URL ลงในหน้าต่างเบราว์เซอร์ปัจจุบัน (แท็บ) หากไม่มีอยู่ URL จะถูกโหลดลงในหน้าต่างปัจจุบัน (แท็บ)
    • คุณยังสามารถระบุชื่อของหน้าต่างที่จะเปิดเป็นพารามิเตอร์ได้ ชื่อนี้เป็นชื่อภายในและนักพัฒนาเว็บสามารถใช้เพื่อเรียกใช้ฟังก์ชันและวิธีการของหน้าต่างนี้
  • พารามิเตอร์ที่สามมีวัตถุประสงค์เพื่อระบุชุดของคุณสมบัติหน้าต่าง ซึ่งป้อนโดยคั่นด้วยเครื่องหมายจุลภาค รองรับคุณสมบัติหน้าต่างพื้นฐานต่อไปนี้:
    • ซ้าย , บน - พิกัด (เป็นพิกเซล) ของมุมซ้ายบนของหน้าต่างเบราว์เซอร์สัมพันธ์กับมุมซ้ายบนของหน้าจอ ค่าของคุณสมบัติเหล่านี้จะต้องเป็นบวกหรือเท่ากับ 0
    • ความสูง ความกว้าง - ความสูงและความกว้างของพื้นที่ทำงานของหน้าต่างเบราว์เซอร์ เมื่อระบุค่า จำเป็นต้องคำนึงว่าความกว้างและความสูงของหน้าต่างเบราว์เซอร์ต้องไม่น้อยกว่า 100 พิกเซล
    • ปรับขนาดได้เป็นคุณสมบัติหน้าต่างบูลีนที่ออกแบบมาเพื่อเปิดหรือปิดความสามารถในการปรับขนาดหน้าต่างเบราว์เซอร์ คุณสมบัตินี้ยอมรับค่าต่อไปนี้: ใช่หรือ 1 และไม่ใช่หรือ 0;
    • scrollbars เป็นคุณสมบัติหน้าต่างบูลีนที่ใช้ในการเปิดหรือปิดการแสดงแถบเลื่อนสำหรับเนื้อหาของหน้าต่างเบราว์เซอร์ คุณสมบัตินี้ยอมรับค่าต่อไปนี้: ใช่หรือ 1 และไม่ใช่หรือ 0;
    • status เป็นคุณสมบัติของหน้าต่างแบบลอจิคัลที่มีไว้เพื่อเปิดหรือปิดการแสดงแถบสถานะของเบราว์เซอร์ คุณสมบัตินี้ยอมรับค่าต่อไปนี้: ใช่หรือ 1 และไม่ใช่หรือ 0

ลองพิจารณาตัวอย่างต่อไปนี้:

1. เปิดหน้าว่างเกี่ยวกับ:ว่างในหน้าต่างใหม่ หน้าต่างนี้ควรมีความกว้างและความสูง 250px:

Window.open("","","width=250,height=250");

2. เปิดหน้าเว็บ "http://site/" ในหน้าต่างปัจจุบัน:

Window.open("http://site/", "_self");

3. เปิดหน้าต่างใหม่พร้อมคุณสมบัติบางอย่าง (ด้านบน=100, ซ้าย=100, ความกว้าง=400, ความสูง=500, แถบเลื่อน=ใช่, resizabie=ใช่):

Window.open("http://site", "_blank", "top=100, left=100, width=400, height=500, scrollbars=yes, ปรับขนาดได้=yes");

จะโต้ตอบกับหน้าต่างหลังจากเปิดได้อย่างไร?

เมธอด open() ช่วยให้คุณไม่เพียงแต่เปิดหน้าต่างเท่านั้น แต่ยังสามารถรับลิงก์ไปยังหน้าต่างนี้ได้อีกด้วย ลิงก์นี้ช่วยให้คุณสามารถโต้ตอบกับหน้าต่างนี้ได้โดยการเรียกคุณสมบัติและวิธีการบางอย่าง เหล่านั้น. เราสามารถใช้โค้ด JavaScript ที่อยู่ในหน้าต่างหนึ่งเพื่อควบคุมหน้าต่างอื่นได้

ตัวอย่างเช่น ในการเข้าถึงวัตถุเอกสารของหน้าต่างที่เปิดอยู่:

เปิดหน้าต่างใหม่ที่ว่างเปล่าและแสดงข้อความในนั้น:

Var myWindow = window.open("", "", "width=250, height=250"); myWindow.document.write("

ข้อความบางส่วน

");

หมายเหตุ: คุณสามารถโต้ตอบกับหน้าต่างที่คุณเปิดไว้เท่านั้น คุณไม่สามารถทำงานกับหน้าต่างอื่นได้

วิธีการปิด ()

ออกแบบมาเพื่อปิดหน้าต่าง วิธีนี้ไม่มีพารามิเตอร์ โดยทั่วไปจะใช้เพื่อปิดหน้าต่างที่สร้างโดยเมธอด open() มิฉะนั้น เมื่อคุณพยายามปิดหน้าต่าง (แท็บ) ที่เปิดโดยผู้ใช้เอง (ไม่ใช่จาก JavaScript) เบราว์เซอร์จะขอให้ผู้ใช้ยืนยันเพื่อดำเนินการนี้ด้วยเหตุผลด้านความปลอดภัย

ตัวอย่างเช่น เรามาสร้างปุ่มสำหรับเปิดและปิดหน้าต่างชื่อ myWindow:

//สร้างตัวแปรที่เราจะเก็บข้อมูลอ้างอิงไปยังวัตถุหน้าต่างของหน้าต่างที่เปิด var myWindow; ฟังก์ชั่น myWindowOpen ( myWindow = window.open("http://www.yandex.ru", “myWindow", "width=250, height=250"); ) ฟังก์ชั่น myWindowClose ( ถ้า (myWindow) ( myWindow.close() ; myWindow = null; ) ) เปิดหน้าต่าง ปิดหน้าต่าง

วิธีการพิมพ์()

ได้รับการออกแบบมาเพื่อพิมพ์เนื้อหาของหน้าต่าง วิธีนี้ไม่มีพารามิเตอร์

ฟังก์ชั่น myPrint() ( window.print(); ) พิมพ์หน้า

โฟกัส () วิธีการ

ได้รับการออกแบบมาเพื่อให้ความสำคัญกับหน้าต่างที่ระบุ วิธีนี้ไม่มีพารามิเตอร์

วิธีการเบลอ ()

มีวัตถุประสงค์เพื่อลบโฟกัสออกจากหน้าต่างที่ระบุ เช่น ย้ายไปที่พื้นหลัง วิธีนี้ไม่มีพารามิเตอร์

ฟังก์ชั่น myWindowOpen() ( var myWindow = window.open("", "", "width=200,height=100"); ) ฟังก์ชั่น myWindowFocus() ( myWindow.focus(); ) ฟังก์ชั่น myWindowBlur() ( myWindow.blur (; ) เปิดหน้าต่าง ให้ความสำคัญกับหน้าต่าง ย้ายหน้าต่างไปที่พื้นหลัง

คุณสมบัติของวัตถุหน้าต่าง: ชื่อ, ตัวเปิด, ปิด

ในส่วนนี้ เราจะดูคุณสมบัติของวัตถุหน้าต่างต่อไปนี้:

  • ชื่อ - มีวัตถุประสงค์เพื่อรับหรือตั้งชื่อภายในของหน้าต่าง
  • opener - อนุญาตให้คุณรับลิงค์ไปยังหน้าต่างปัจจุบัน (วัตถุหน้าต่าง) ที่เปิดหน้าต่างนี้
  • Closed เป็นคุณสมบัติบูลีนที่ส่งคืน: true หากหน้าต่างถูกปิด และ false หากหน้าต่างเปิดอยู่
ชื่อทรัพย์สิน

คุณสมบัตินี้มักใช้เพื่อเปลี่ยนชื่อภายในของหน้าต่างหลังจากที่เปิดอยู่แล้ว นอกจากนี้ คุณสมบัติชื่อสามารถส่งกลับค่าปัจจุบันของชื่อภายในของหน้าต่างได้

ชื่อภายในของหน้าต่างไม่ใช่สตริงที่อยู่ระหว่างแท็กชื่อเปิดและปิด แต่เป็นชื่อของหน้าต่างที่มีไว้สำหรับนักพัฒนา เหล่านั้น. ชื่อนี้ไม่ปรากฏแก่ผู้ใช้

ชื่อนี้ส่วนใหญ่จะใช้ในไฮเปอร์ลิงก์และแบบฟอร์มเพื่อระบุหน้าต่างที่ควรเปิดเพจ ตัวอย่างเช่น เพื่อระบุชื่อภายในของหน้าต่างในไฮเปอร์ลิงก์ จะใช้แอตทริบิวต์ target หากองค์ประกอบ a มีแอตทริบิวต์ target="searchWindow" จากนั้นเมื่อคุณคลิกที่ลิงก์นี้เบราว์เซอร์จะพยายามค้นหาหน้าต่างก่อนด้วย ชื่อภายในดังกล่าว (searchWindow) หากไม่มีหน้าต่างที่มีชื่อภายในดังกล่าวอยู่ ระบบจะเปิดหน้าต่างใหม่และตั้งชื่อเป็น searchWindow และหากมีหน้าต่างชื่อเดียวกัน หน้าต่างใหม่จะไม่เปิดขึ้น แต่เพจจะถูกโหลดใหม่โดยใช้ลิงก์ที่ระบุในหน้าต่างนี้ ตามค่าเริ่มต้น หน้าต่างเบราว์เซอร์จะไม่มีชื่อภายใน

ตัวอย่างเช่น ลองเปิดหน้า "http://www.google.com/" ในหน้าต่างชื่อ myWindow:

window.name = "หน้าต่างของฉัน";

ตัวอย่างเช่น ลองเปิดหน้าต่างโดยใช้เมธอด open() แล้วแสดงชื่อของมัน:

var wnd = window.open("", "myTest", "width=200, height=300"); wnd.document.write("

หน้าต่างนี้มีชื่อ: " + wnd.name + ".");

คุณสมบัติที่เปิด

คุณสมบัตินี้ช่วยให้คุณได้รับลิงค์ไปยังหน้าต่างดั้งเดิม (วัตถุหน้าต่าง) ในหน้าต่างเช่น ไปยังหน้าต่างที่เปิดหน้าต่างนั้นไว้

ตัวอย่างเช่น คุณมีหน้าต่างเดิม (1) ซึ่งคุณใช้เมธอด open() เพื่อเปิดหน้าต่างอื่น (2) ในหน้าต่างนี้ (2) คุณสามารถใช้คุณสมบัติตัวเปิดเพื่อรับหน้าต่าง (1)

ฟังก์ชัน openMyWindow() ( var myWindow=window.open("","width=200,height=200"); myWindow.document.write("เปิดหน้าต่าง (2)"); $(document).ready (function() ( updatefgallowPrompt(true); window.onbeforeunload = WarnUser; ) ฟังก์ชั่น WarnUser() ( var AllowPrompt = getfgallowPrompt(); if(allowPrompt) ( saveIndexedDataAlert(); return null; ) else ( updatefgallowPrompt(true); เหตุการณ์ .stopPropagation ) ) ฟังก์ชั่น saveIndexedDataAlert() ( var AllowPrompt = getfgallowPrompt(); var lenIndexedDocs = parseInt($("#sortable3 > li").size()) + parseInt($("#sortable3 > ul").size( )); if(allowPrompt && $.trim(lenIndexedDocs) > 0) ( event.returnValue = "ข้อความของคุณ"; } else { event.returnValue = " "; updatefgallowPrompt(true); } } $(document).click(function(event) { $("a").live("click", function() { updatefgallowPrompt(false); }); }); function updatefgallowPrompt (allowPrompt){ //exit msg dfds $("body").data("allowPrompt", allowPrompt); } function getfgallowPrompt(){ return $("body").data("allowPrompt"); }!}

หลังจากนั้นก็ทำงานให้ฉัน

$(window).unload(function(event) ( if(event.clientY< 0) { //do whatever you want when closing the window.. } });

Window.onbeforeunload = function () ( return "คุณต้องการปิดจริงหรือ?"; );

บางทีอาจเป็นเพียงตัวจัดการเหตุการณ์ beforeunload ในตัวจัดการเหตุการณ์ส่งของแบบฟอร์ม:

JQuery("form").submit(function() ( jQuery(window).unbind("beforeunload"); ... ));

2

ฉันมีเพจหลักหนึ่งเพจและเพจย่อย หน้าย่อยเปิดในแท็บใหม่

ฉันต้องการแสดงข้อความเตือนหนึ่งข้อความ (ปิดหน้าย่อย) เมื่อฉันปิดแท็บย่อย
จะแสดงข้อความที่ปิดเมื่อปิดแท็บได้อย่างไร (ไม่ใช่เวลาสดชื่น)

ฉันใช้ OnUnload และ onbeforeunload
ทั้งสองวิธีเรียกอีกอย่างว่าเมื่อรีเฟรชหน้าและปิดแท็บ

Window.onunload = ฟังก์ชั่น doUnload(e) ( alert("หน้าต่างลูกกำลังปิด..."); )

Window.onbeforeunload = ฟังก์ชั่น doUnload(e) ( alert("หน้าต่างลูกกำลังปิด..."); )

ฉันต้องแสดงข้อความเตือนเพียงแค่ปิดแท็บในเบราว์เซอร์

ช่วยฉันด้วย. ขอบคุณล่วงหน้า.

ฉันใช้สคริปต์ต่อไปนี้ มันทำงานใน IE แต่ใช้งานไม่ได้กับ FireFox

window.onbeforeunload = function() ( ถ้า ((window.event.clientX< 0) || (window.event.clientY < 0) || (window.event.clientX < -80)) { alert("Child window is closing..."); } };

วิธีบรรลุเป้าหมายนี้ใน FireFox และเบราว์เซอร์อื่นๆ

  • 4 คำตอบ
  • การเรียงลำดับ:

    กิจกรรม

1

สำหรับ afaik นี้ไม่เคยเป็นสถานการณ์แบบข้ามเบราว์เซอร์ วิธีแก้ไขคือไม่ต้องพึ่งพาคุณลักษณะเฉพาะของเบราว์เซอร์ที่ไม่มีเอกสารและตัวแปรเพื่อตรวจจับสิ่งที่สำคัญ

เนื่องจากคุณมีเพจ CHILD คุณสามารถตั้งค่าการทดสอบบนพาเรนต์ (ตัวเปิด) ที่จะตรวจสอบคุณสมบัติ childWindowHandle.closed เป็นระยะๆ และดำเนินการกับสิ่งนั้น

1

สมมติว่ามันพยายามจะยิงเหตุการณ์ beforeunload Crossbrowser มันก็ทำได้ค่อนข้างมาก (ยกเว้นใน Opera)

ลอง ( // http://www.opera.com/support/kb/view/827/ opera.setOverrideHistoryNavigationMode("เข้ากันได้กับ"); history.navigationMode = "เข้ากันได้กับ"; )catch(e)() // ที่ของเรา ฟังก์ชัน F" Are You Going Message ReturnMessage() ( return "WTF!!!"; ) //UnBind Function function UnBindWindow() ( window.onbeforeunload = null; return true; ) //Bind Links เราไม่ต้องการส่งผลกระทบต่อเอกสาร .getElementById("homebtn").onclick = UnBindWindow; document.getElementById("googlebtn").onclick = UnBindWindow; //Bind Exit Message Dialogue window.onbeforeunload = ReturnMessage;

0

คุณอาจไม่สามารถดำเนินการนี้ได้ยกเว้นบางวิธีที่ใช้คุกกี้ ซึ่งเป็นงานในการพัฒนาวิธีแก้ไขปัญหาชั่วคราวในฐานะคุกกี้ที่ไม่ถาวร การระบุครั้งที่สองของการรีเฟรชหน้า การเปลี่ยนเส้นทางตามแบบฟอร์ม หรือการเปลี่ยนเส้นทางแบบย้อนกลับ หรือการปิดเบราว์เซอร์ด้วยการทิ้งเหตุการณ์นั้นไม่ได้ตรงไปตรงมาและน่าเบื่อ แนะนำว่าอย่าพึ่งเรื่องนี้

คุณสามารถทำสิ่งเล็กๆ น้อยๆ ก่อนที่ไคลเอนต์จะปิดแท็บ javascript ตรวจจับเบราว์เซอร์ ปิดแท็บ/ปิดเบราว์เซอร์ แต่หากรายการการกระทำของคุณมีขนาดใหญ่และแท็บปิดก่อนที่จะเสร็จสิ้น คุณจะทำอะไรไม่ถูก คุณสามารถลองได้ แต่ด้วยประสบการณ์ของฉัน มันไม่ได้ขึ้นอยู่กับมัน ใช่ คุณไม่สามารถแยกความแตกต่างกลับ อัปเดต และปิดได้ในขณะนี้ ดังนั้นจึงไม่มีวิธีที่เชื่อถือได้ในการบอกได้ว่าเด็กปิดจริงหรือไม่

Window.addEventListener("beforeunload", function (e) ( var comparisonMessage = "\o/"; /* คุณทำโค้ดแอคชั่นเล็กๆ น้อยๆ ที่นี่ */ (e || window.event).returnValue = comparisonMessage; //Gecko + IE กลับข้อความยืนยัน; //Webkit, Safari, Chrome ));