动态加载的页面,如何解决“后退”/"前进"问题?

灼眼的超哥 2015-03-26 10:28:35
有些网站,给人感觉是局部加载的,比如淘宝商品筛选页面、Github的文件目录浏览页面,在加载后,地址栏中的地址会跟着变化,可以像普通页面那样正常的后退和前进。

我之前用<Iframe>,靠 http://test.com/#!/test.html 这种格式让index.html根据 #!/ 后面的地址载入子页面,虽然实现了的局部页面加载(不刷新整张页面),但后退/前进时,页面并没跟着地址栏中的地址在变化。当然,要跟着变化可以再写点JavaScript代码,检测地址是否有变化,然后更新<iframe>中的页面地址。

据说可以用Jquery的load()方法加载,那加载后,页面能后退和前进吗?

主要是想知道简单快捷的方法。
...全文
365 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Go 旅城通票 2015-03-27
  • 打赏
  • 举报
回复
ajax动态加载或者#2楼说的用HTML5的pushState,地址栏可以变化,但是不会刷新
灼眼的超哥 2015-03-27
  • 打赏
  • 举报
回复
引用 5 楼 showbo 的回复:
ajax动态加载或者#2楼说的用HTML5的pushState,地址栏可以变化,但是不会刷新
OK,好像也没什么问题了。
灼眼的超哥 2015-03-26
  • 打赏
  • 举报
回复
引用 3 楼 liuchao35758600 的回复:
[quote=引用 1 楼 showbo 的回复:] load方法也一样的,需要用hash来记录状态什么的 firefox可以记住动态加载的内容,不需要hash
那怎么在不刷新整张页面的情况下,变更地址栏中的地址?[/quote] Github 中的<a>标签有 href 属性,在点击<a>时,它是怎么屏蔽正常页面跳转的?
灼眼的超哥 2015-03-26
  • 打赏
  • 举报
回复
引用 1 楼 showbo 的回复:
load方法也一样的,需要用hash来记录状态什么的 firefox可以记住动态加载的内容,不需要hash
那怎么在不刷新整张页面的情况下,变更地址栏中的地址?
functionsub 2015-03-26
  • 打赏
  • 举报
回复
支持HTML5的浏览器可以使用HTML5 history新特性pushState、replaceState 来实现你说的效果。 不支持HTML5的只能通过更改#A,#B后面的A跟B来发送不一样的AJAX请求展现不一样的内容了。加一个setInterval来监控地址的变化。
Go 旅城通票 2015-03-26
  • 打赏
  • 举报
回复
load方法也一样的,需要用hash来记录状态什么的 firefox可以记住动态加载的内容,不需要hash

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧