ajax 本身不支持 浏览器 前进 后退操作。
目前采用 rsh 来模拟通过设置window.location.hash属性的值来人工的改变DOM属性window.location。通过编辑这个属性的值,可以改变地址栏中的URL,还可以向网页游览历史记录中添加一条记录,但是页面并不会被重新加载,这主要是由于被改变的只有片段识别符,所谓的片段识别符是指URL中#之后的部分,由于网页游览历史中记录的都是不同的URL,所以,游览器的后退和前进按钮就通过改变window.location.hash的值在这些URL间进行导航。只要对window.location.hash保持监视,一旦它的值发生了改变,就会触发一个事件。用户的代码可以与这一事件建立连接,一旦该事件被触发,就可以根据被改变的片段识别符来加载内容。
下边是例子 demo
目前采用 rsh 来模拟通过设置window.location.hash属性的值来人工的改变DOM属性window.location。通过编辑这个属性的值,可以改变地址栏中的URL,还可以向网页游览历史记录中添加一条记录,但是页面并不会被重新加载,这主要是由于被改变的只有片段识别符,所谓的片段识别符是指URL中#之后的部分,由于网页游览历史中记录的都是不同的URL,所以,游览器的后退和前进按钮就通过改变window.location.hash的值在这些URL间进行导航。只要对window.location.hash保持监视,一旦它的值发生了改变,就会触发一个事件。用户的代码可以与这一事件建立连接,一旦该事件被触发,就可以根据被改变的片段识别符来加载内容。
下边是例子 demo
本文介绍如何利用window.location.hash属性的变化来实现浏览器的前进后退功能。通过监听hash值变化,可以在不重新加载页面的情况下更新内容,从而创建流畅的单页应用体验。
3631

被折叠的 条评论
为什么被折叠?



