A-AA+then

javascript สำหรับ check event close window สำหรับทุก browser ตอน

5,766
javascript สำหรับ check event close window (IE)

<script type="text/javascript">

window.onbeforeunload=function(){

if (window.event.clientY < 0 && (window.event.clientX > (document.documentElement.clientWidth - 5) || window.event.clientX < 15) ) {// เช็คว่าได้มีการคลิ๊กปิดหน้าต่าง browser รึป่าว
    alert("closing window"); // ถ้ากดปุ่มปิดจริงให้ alert ข้อความว่ากำลังปิดหน้าต่าง
    window.location.href = "logout.php"; // แล้วให้ไปยังหน้า logout เพื่อทำการตัด session ต่อไป
    }

}
</script>


แล้วถ้าจะใช้เช็คกับ browser ค่าอื่น ๆ จะต้องทำไงค่ะ

6 ความคิดเห็น

onbeforeunload มีใน IE เท่านั้น ครับ

ถ้าจะให้ cross browser ก็มีแต่ onunload ครับ แต่เท่าที่เคยใช้มา ก็ทำงานไม่ค่อยถูกต้องนักในหลายๆ Browser

คำแนะนำเพิ่มเติม ลองใช้พวก framework ดูครับ เช่น JQuery หรือค่ายอื่นๆก็ได้ครับ ส่วนถ้าจะใช้ GAJAX ก็ลอง

$G(document).addEvent('unload', function(){
 // do some thing
});

ลองทดสอบดูครับ ว่ามันจะทำงานตามต้องการมั้ย
1

ผมขอสนับสนุน frame work GAJAX นะคับสำหรับคนที่กำลังศีกษา Javascript แล้วไปนั่งแกะๆ ตัว core เล่นๆ ได้ความรู้มากมายเลยครับ

2

อาจารย์ก็ยุให้ผมแกะ code ด้วยเหมือนกันครับ แต่ยังไม่ได้ลองเลย
3

อ้างจากคำตอบที่ #3อาจารย์ก็ยุให้ผมแกะ code ด้วยเหมือนกันครับ แต่ยังไม่ได้ลองเลย

ผมลองแกาะมาเป็นเดือนแล้วครับ อิอิ ผมหายไปหลายเส้นเลย ตอนหลังเอาบทความมาดูประกอบค่อยยังชั่วครับ เหอๆ
4

สำเร็จวิชามารกันเมื่อไร แตกฉาน Javascript กันแน่นอน

เทคนิคหลายๆอย่าง ถ้าเราไม่ใช้ Frame Work มันทำงานไม่ได้ครับ ถ้าเราได้ศึกษา Frame Work กันบ้าง ก็จะทำให้เราใช้ Javascript กันง่ายขึ้นครับ

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

เหตุผลที่ผมเลือกที่จะออกแบบ GAJAX ขึ้นมาก็เพื่อ
1. มีหลายๆอย่างที่ Frame Work ขนาดใหญ่ทำได้ แต่มันไม่ค่อยได้ใช้ สำหรับการทำงานทั่วๆไปครับ ผมไม่อยากสูญเสียทรัพยากรไปกับสิ่งที่ไม่ได้ใช้ก็เลยเลือกที่จะออกแบบตามความต้องการพื้นฐานของตัวเองครับ
2. การทำงานกับ Ajax สมบูรณ์แบบครับ ซึ่งแต่ละค่ายก็มีวิธีที่ต่างกันไปเล็กน้อย และมีคุณสมบัติต่างๆกัน ผมเลยเลือกที่จะออกแบบตามความต้องการของตัวเอง (อีกเช่นกัน)
3. ฟังก์ชั่นที่ใช้บ่อย หรือ class ที่ใช้บ่อย และ Cross Browser
5

ขอบคุณนะค่ะ สำหรับความรู้
6
^