我目前在一个网站上工作,遇到了以下问题:
假设我的网站名称是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,脚本会检测到没有设置任何参数。然后它将设置默认参数。基于带有井号的 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 推送每个状态?
谢谢!