หน้าเว็บ

วันจันทร์ที่ 3 กันยายน พ.ศ. 2555

javascript ไม่ให้กลับไปหน้าเดิม หลังจากทำการล็อกเอาต์ ระบบ

        เหตุผลของผมว่าทำไมถึงต้องใช้ตัวนี้   พอดีผมเจอปัญหาเกียวกับการ Logout ออกจากระบบครับ
มัน Logout จริงๆ session หมดอายุจริงๆ (Server clear session)  แต่ว่า มันยัง back กลับมายังหน้าเดิมได้  ไอ้ผมก็งง  ที่แท้ก็เพราะตัว browser นั่นเอง ที่มันมีการจำ history ไว้ แต่ว่า การ back กลับมาหน้าเดิมเนี่ย  มันทำอะไรไม่ได้น่ะครับ  เพราะ เรา Logout Clear Session จริงๆ ไปแล้ว จะกดปุ่มอะไรหรือดำเนินการอะไรไม่ได้เลย  ถ้ารีเฟรชใหม่  มันก็จะกลับไปหน้า  Login  อีก  แต่ถ้า เรากด back มันก็กลับมาหน้าเดิมอีก  เป็นแบบนี้เรื่อยๆครับ   เราเลยต้องมีวิธีแก้กันหน่อย
        วิธีแก้ แค่แปะโค๊ดตัวนี้ไว้ที่หัว page ที่มันเคยย้อนกลับไปครับ แค่นี้ก็แก้ได้แล้วครับ
...
    <head>
        <script type="text/javascript">
            function noBack(){
                window.history.forward()
            }
            
            noBack();
            window.onload = noBack;
            window.onpageshow = function(evt) { if (evt.persisted) noBack() }
            window.onunload = function() { void (0) }
        </script>
    </head>
...
credit : http://www.codeproject.com/Questions/149637/Disable-Browser-Back-Button-functionality-after-cl

1 ความคิดเห็น:

  1. ขอบคุณมากครับ กว่าจะเจอ นำไปใช้งาน ใช้ได้แล้วครับ back ไม่ได้ ขอบคุณมากครับ

    ตอบลบ