目前我正在开发一个使用AJAX“滚动”不同页面的网站。我也使用window.history.pushState来更改网址。
假设您在“mywebsite.com”上,并点击菜单中的“第1页”。然后,当前内容淡出,“页面1”的内容淡入,而不重新加载页面。该网址也会从“mywebsite.com”更改为“mywebsite.com/page_1/”。一切正常!
当我按下后退按钮时,URL会更改回“mywebsite.com”,但原始内容不会“重新加载”。我知道有一种方法可以使用hashtags解决这个问题,但这不是我希望它工作的方式。
我希望有些人可以帮助我。非常感谢!
答案 0 :(得分:1)
浏览器不会自动恢复页面状态。相反,它会触发popstate
事件,然后让您根据需要制定页面。
因此,您需要订阅onpopstate
event。
(显然,只有支持HTML5历史API的浏览器才支持此功能。)