V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Imivan
V2EX  ›  问与答

怎么实现换页不刷新?

  •  
  •   Imivan · 2014-10-26 19:42:09 +08:00 via iPhone · 2838 次点击
    这是一个创建于 3680 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如题,不用ajax。
    17 条回复    2014-10-29 10:13:26 +08:00
    icedx
        1
    icedx  
       2014-10-26 19:47:58 +08:00 via Android
    框架
    Imivan
        2
    Imivan  
    OP
       2014-10-26 19:50:06 +08:00 via iPhone
    @icedx 哪个框架,请明示。
    imn1
        3
    imn1  
       2014-10-26 19:51:36 +08:00
    用div做分页,切换显示就是了
    klam
        4
    klam  
       2014-10-26 19:53:52 +08:00
    把数据一次性全部载入,然后保存在变量或dom里..
    avrillavigne
        5
    avrillavigne  
       2014-10-26 19:59:29 +08:00
    @Imivan iframe 笑出声
    Imivan
        6
    Imivan  
    OP
       2014-10-26 20:03:09 +08:00 via iPhone
    @avrillavigne
    @klam
    谢谢了,大致就是这两种了。
    icedx
        7
    icedx  
       2014-10-26 20:24:31 +08:00 via Android
    @Imivan iframe
    kmvan
        8
    kmvan  
       2014-10-26 20:30:27 +08:00
    用Jsonp
    aliuwr
        9
    aliuwr  
       2014-10-26 21:12:20 +08:00
    你需要的应该是 HTML5 History API:
    https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Manipulating_the_browser_history#Adding_and_modifying_history_entries

    Demo:
    http://html5demos.com/history

    由于是 HTML5 里的标准, 对于古董浏览器, 可以使用 location.hash 作为替代品.
    loading
        10
    loading  
       2014-10-26 21:14:15 +08:00
    不用ajax,用iframe,是无刷新换页,自欺欺人!


    @aliuwr 您说的是 pjax ?
    Imivan
        11
    Imivan  
    OP
       2014-10-26 21:15:09 +08:00 via iPhone
    @aliuwr 这个也可以,太谢谢啦。
    shsf4
        12
    shsf4  
       2014-10-26 21:19:03 +08:00
    试试angular.js的路由功能~~
    aliuwr
        13
    aliuwr  
       2014-10-26 21:28:15 +08:00 via Android
    @loading 网易云音乐就是使用的 iframe,比较失望。
    不过不会有兼容问题,已有的系统也不需要做什么调整,是比较省力的方案。

    重点不是服务器返回内容的格式,而是 URL 的维护。
    good
        14
    good  
       2014-10-27 11:47:09 +08:00
    @aliuwr 这个才是正解
    Imivan
        15
    Imivan  
    OP
       2014-10-29 06:37:50 +08:00 via iPhone
    @aliuwr 可以给个window.location.hash源码和演示么?w3school没有,网上的资料也很少。前端渣渣,谢谢了。
    aliuwr
        16
    aliuwr  
       2014-10-29 09:53:28 +08:00
    @Imivan 可以参考或使用该 JS 库,
    https://github.com/browserstate/history.js/
    Imivan
        17
    Imivan  
    OP
       2014-10-29 10:13:26 +08:00
    @aliuwr 好吧,我早该想到github的不刷新。谢谢啦
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2818 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 02:44 · PVG 10:44 · LAX 18:44 · JFK 21:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.