我们在工作中常常遇到需要用ajax来顯示下一页和上一页ajax可以不刷新页面进行操作!但是,假如你想通过浏览器的历史记录返回上一页和下一页那么ajax默认是做不到的!一般需求要历史返回的时候,我们通常不使用ajax但是呢,假如一个页面中只有一个地方是需要动态的上一页下一页,其他地方都是固定的那么这种情况除了使用模板之外,我们使用ajax来操作显得格外方便!那么如何解决ajax历史记录的返回和前进呢今天我们就一起来学习一下!
首先我们来看看history相关的API。
state:与要跳转到的URL对应的状态信息
title:页面的题目,假如没有就穿空字符串就可以。
url:要跳转到的URL地址不能跨域。
用新的state和URL替换当前不会造成页面刷新。
state:与要跳转到的URL对应的状态信息
title:页面的题目,假如没有就穿空字符串就可以。
url:要跳转到的URL哋址不能跨域。
而当有浏览者点击浏览器“后退”或“前进”按钮时我们用下面的代码来响应用户的操作:
谷歌浏览器,火狐浏览器Safafi浏览器、IE10+等现代浏览器都支持这种技术。假如你感兴趣可以试试!
历史记录操作方法应用很广泛,我们在中广发应用当然,我们还囿另外一个应用场景场景如下:
点击列表内容,弹窗显示详情详情中有一些介绍的链接,我们点击链接再次跳转到详情的详情!假如峩们按历史返回只能返回列表,弹窗就不会显示了我们利用历史记录pushState,就可以实现弹窗跳转到详情的详情然后再返回到弹窗。操作方法就是:
把我们的数据存到pushState中然后在页面初始化的时候,绑定到页面中可以用
当我们每次点击,都会存一个pushState当我们列表返回的时候,我们期望的效果是列表的上一次记录那么我们用:
每次都对历史进行替换,而不是创建就可以实现我们想要的效果!
监听手机返囙键或者浏览器返回其他方案
感兴趣的同学可以了解测试一下!