我目前正在一个网站上工作,遇到了以下问题:
假设我的网站名称是 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 推送每个状态?
谢谢!
切换到使用SessionStorage来存储参数,并可选择回退到cookie或其他东西。
然后仅对您希望能够返回的状态使用主题标签。