这个默认是不可能实现的。
因为jquery的load方法也是通过ajax进行加载的。
页面并没有进行跳转。浏览器上的url地址也没发生变化。
前进后退是起不到你想要的作用的。
对于这种纯粹ajax开发的web应用。
要实现这种效果,只能使用hash
hash指的就行url地址后面的#号以及后面的部分
利用onhashchange事件,检测到hash变化后。然后你再用js触发相应的变化。
从而实现页面间的路由。
但是onhashchange并不被所有浏览器支持,因此你需要针对不支持onhashchange事件的浏览器
自行实现。
具体内容,网上教程很多。
ajax是局部刷新,不刷新整个页面的, 所以前进,后退,还有刷新几个按钮都会异常,
我以前是用插件解决的,你可以搜索下 jquery.history.js插件
我可应很负责任的告诉你:ajax加载页面是无法实现浏览器前进和后退功能的,
因为你是直接通过jq 将当前页面的内容全给替换掉了,而页面并没有跳转。
不过不是所有事都是绝对的。告诉你一个比较笨但是有比较实用的方法。
就是通过iframe轻松解决问题。
首先,你的页面需要一个隐藏的iframe,且iframe的src对应的是一个任意的html,jsp都行。
当你ajax加载页面之前,用jq将当前的页面内容给加载到iframe中去,这个时候,你的iframe中的html元素,就是你当前页面的html元素没错把?这时候再加载你需要ajax加载的页面。注意,加载页面的时候千万不要把这个iframe给覆盖掉了。。。
再写一个键盘后退按键的js监控方法,当按下backspace的时候,将iframe的页面元素加载出来覆盖当前页面,在覆盖之前记得要把现在的页面元素覆盖到iframe中,因为你还有一个前进的操作
前进的操作也是大同小异,说白了就是父页面元素与iframe中的页面元素进行对换的操作
抱歉,语言组织能力有限,希望对你有所帮助,或者有所启发~!