我目前工作的一個網站,並遇到下列問題就來了:如何防止瀏覽器將狀態推入歷史?
假設我的網站的名字是www.mysite.com.
在頁面的第一個電話,我的JavaScript檢查,是否有在URL中某些參數,這是對於Web應用程序狀態很重要。這些參數是例如:
lang - language --> lang=1 means German
page - current Page --> page=home means its the homepage
cats - categories --> cats=1,2,3 means that the default categories are 1,2 and 3
如果你只是打電話給www.mysite.com,腳本檢測到,沒有參數設置。它會設置默認參數。根據與hashmark URL修改,我設置的URL:
www.mysite.com/#/page=home&lang=1&cats=12,13,18
這個真正的問題是,瀏覽器歷史記錄中兩種狀態進行設置。第一個是www.mysite.com,第二個是帶有參數的複雜URL。
所以,想象一下我目前是
www.mysite.com/#/page=home&lang=1&cats=12,13,18
,現在按回車鍵。瀏覽器把我帶到
www.mysite.com
,然後我的JavaScript檢測,有沒有參數,所以它再次帶我到
www.mysite.com/#/page=home&lang=1&cats=12,13,18
如何解決這個問題?是否可以完全手動管理歷史記錄,以便我可以通過JavaScript推送每個狀態?
謝謝!
您是否可以讓網絡應用程序只使用缺省值而不在URL中包含任何散列值? –
默認值是什麼意思? – tellob