如何使用 ajax 无刷新既改变网页地址(url)又能实现前进后退改变内容?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

如何使用 ajax 无刷新既改变网页地址(url)又能实现前进后退改变内容?

a123456678 2016-07-29 10:53:37 1412

假设现在有一个网页如下:

<div class="nav">
    <ul>
        <li data-page-name="a-page" data-page-href="a-page.html">
         //当点击这个 li 标签时,div#a-page 显示,并在他的子 div.ajax-load-             a-page当中载入 a-page.html。同时 url 改变为 example.com/a-page.html,并且前进后退可用。下同。
        <li data-page-name="b-page" data-page-href="b-page.html">
        //....
    </ul>
</div>

<div id="a-page">
    <div class="ajax-load-a-page">
        //....
    </div>
</div>
<div id="b-page">
    <div class="ajax-load-b-page">
        //....
    </div>
</div>

现在我试用了 pushstate,但是只能改变地址的 url,前进后退也只改变 url 地址,内容没有改变。可能是没有绑定 popstate 的缘故,但不知道这部分的绑定代码应该怎么写?
补充一下,不必考虑IE

前端开发
分享到
取消 提交回答
全部回答(2)
  • 涛声依旧2
    2019-07-17 20:01:40

    我知道怎么实现的,请加我qq:501244162

    0 0
  • a123456678
    2019-07-17 20:01:40

    使用的 jquery.ba-hashchange 插件,
    还有html5的history.pushState事件,
    IE下监听 $(window).on('hashchange', function(){});事件。

    0 0
添加回答
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题
推荐课程