我正在开发一个网站,其中主要内容根据选定的菜单项由 jquery ajax 加载。
在选择任何菜单项时,url 会根据以下模式更改:
http://host/domain/index.php?pageid=page
这里的页面是指我想使用 ajax 加载到主要内容中的页面。
现在在这种情况下,如果用户单击浏览器的后退按钮,我想重新加载上一页。
谁能帮助我,我怎么能做到这一点?
我正在开发一个网站,其中主要内容根据选定的菜单项由 jquery ajax 加载。
在选择任何菜单项时,url 会根据以下模式更改:
http://host/domain/index.php?pageid=page
这里的页面是指我想使用 ajax 加载到主要内容中的页面。
现在在这种情况下,如果用户单击浏览器的后退按钮,我想重新加载上一页。
谁能帮助我,我怎么能做到这一点?
如果您不更改网址,那恐怕是不可能的。
假设您最好尝试使用window.history
which 在用户单击返回按钮时提供 onpopstate 事件。但是您需要在浏览器中使用history.pushState
/history.replaceState
函数修改 url。可能,您可以将相同的 url 添加到历史记录中,因此它不会在视觉上发生变化。然后从您的自定义历史数组中获取先前的 URL。但不确定如果您放置相同的网址,popstate 是否会起作用pushState
但这仅适用于现代浏览器。为了让它在所有浏览器中都能正常工作,你最好使用一些历史插件(例如this),它也可以使用主题标签来处理 IE