2017年4月14日 星期五

[javascript]我想要修改回上一頁的紀錄 之 新增瀏覽歷史紀錄

嗶嗶嗶~

今天又收到新的指令。

當我們登出後,如果按一下「回上一頁」的按鈕 ((比如說瀏覽器上的回上頁按鈕,或是快速鍵ALT + ←))

怎麼還是會顯示已經登入的畫面?! 我不要我不要~ ((好吧,我是誇張了點))



這次做法是Logout.php   完成登出   >> 暫存頁 >> 首頁

當我們回到首頁時,按回上一頁時,會判定已經登出然後提示使用者。

其中,我們很習慣的會在Logout.php把session刪除之後,利用< location.href >轉到暫存頁,然後再利用< location.href > 轉到首頁。

其實這時候按回上頁的按鈕還是會跑回沒登出時候的畫面。 ((好像沒圖沒真相)) 

這時候其實可以在暫存頁面上利用以下語法新增歷史紀錄,讓他在按回上頁時,回到暫存頁,然後我們在那裏做手腳 ((咳咳))

<script type="text/javascript">
    var stateObj = { test: "123" };

    history.pushState(stateObj, "new Page", "" + 暫存頁網址 + "");

    window.location.href = 首頁網址;
</script>


如此一來就可以動手腳!

如果有新的解法,歡迎加入討論~ (Y)




參考網站:https://developer.mozilla.org/zh-TW/docs/Web/Guide/API/DOM/Manipulating_the_browser_history/Manipulating_the_browser_history
Share:

0 意見:

張貼留言