javascript สำหรับ check event close window สำหรับทุก browser ตอน
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 ค่าอื่น ๆ จะต้องทำไงค่ะ
<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 ค่าอื่น ๆ จะต้องทำไงค่ะ
ถ้าจะให้ cross browser ก็มีแต่ onunload ครับ แต่เท่าที่เคยใช้มา ก็ทำงานไม่ค่อยถูกต้องนักในหลายๆ Browser
คำแนะนำเพิ่มเติม ลองใช้พวก framework ดูครับ เช่น JQuery หรือค่ายอื่นๆก็ได้ครับ ส่วนถ้าจะใช้ GAJAX ก็ลอง
$G(document).addEvent('unload', function(){
// do some thing
});
ลองทดสอบดูครับ ว่ามันจะทำงานตามต้องการมั้ย
ผมขอสนับสนุน frame work GAJAX นะคับสำหรับคนที่กำลังศีกษา Javascript แล้วไปนั่งแกะๆ ตัว core เล่นๆ ได้ความรู้มากมายเลยครับ
ผมลองแกาะมาเป็นเดือนแล้วครับ อิอิ ผมหายไปหลายเส้นเลย ตอนหลังเอาบทความมาดูประกอบค่อยยังชั่วครับ เหอๆ
เทคนิคหลายๆอย่าง ถ้าเราไม่ใช้ Frame Work มันทำงานไม่ได้ครับ ถ้าเราได้ศึกษา Frame Work กันบ้าง ก็จะทำให้เราใช้ Javascript กันง่ายขึ้นครับ
จริงๆผมก็สนับสนุน Frame Work ทุกอันแหละครับ แต่ที่ผมอยากให้เกิดขึ้นจริงๆ ก็คือการใช้มันอย่างคุ้มค่า และ ใช้มันได้เต็มประสิทธิภาพครับ (สามารถออกแบบโดยใช้ Frame Work ตัวเดียวในโปรเจ็ค อย่างสมบูรณ์) ซึ่งแน่นอน สิ่งแรกที่ต้องทำคือ ศึกษามันอย่างแท้จริง วึ่งถ้าคุณเข้าใจมัน Frame Work ไหนๆ ก็มีคุณสมบัติเพียงพอสำหรับกาใช้งานครับ
เหตุผลที่ผมเลือกที่จะออกแบบ GAJAX ขึ้นมาก็เพื่อ
1. มีหลายๆอย่างที่ Frame Work ขนาดใหญ่ทำได้ แต่มันไม่ค่อยได้ใช้ สำหรับการทำงานทั่วๆไปครับ ผมไม่อยากสูญเสียทรัพยากรไปกับสิ่งที่ไม่ได้ใช้ก็เลยเลือกที่จะออกแบบตามความต้องการพื้นฐานของตัวเองครับ
2. การทำงานกับ Ajax สมบูรณ์แบบครับ ซึ่งแต่ละค่ายก็มีวิธีที่ต่างกันไปเล็กน้อย และมีคุณสมบัติต่างๆกัน ผมเลยเลือกที่จะออกแบบตามความต้องการของตัวเอง (อีกเช่นกัน)
3. ฟังก์ชั่นที่ใช้บ่อย หรือ class ที่ใช้บ่อย และ Cross Browser