必威体育Betway必威体育官网
当前位置:首页 > IT技术

history.pushState() 给网站添加和修改浏览历史记录

时间:2019-10-26 13:44:37来源:IT技术作者:seo实验室小编阅读:73次「手机版」
 

pushstate

假设一个使用场景:

后台管理系统项目,左右固定布局。左侧是通用布局,右侧页面是通过ajax切换的

当我们切换菜单后,想返回上一页,通常点击浏览器自带的回退。会发现回退的不是上一页,而是最开始打开这个项目的那一页。并且当我们刷新当前页面。也会自动回退到最初始的页面

原因:我们切换菜单的时候并没有跳转页面,只是用过ajax把我们想要的那也插在右侧DIV中。没有跳转页面就意味着浏览器没有存下历史记录。

解决办法:

每次调用ajax的时候,并且调用成功,我们都在内部加上这个  history.pushstate()方法

history.pushState方法接受三个参数,依次为:

state:一个与指定网址相关的状态对象,popstate事件触发时,该对象会传入回调函数。如果不需要这个对象,此处可以填null。

title:新页面的标题,但是所有浏览器目前都忽略这个值,因此这里可以填null。

url:新的网址,必须与当前页面处在同一个域。浏览器的地址栏将显示这个网址。

假定当前网址是example.com/1.html,我们使用pushState方法在浏览记录(history对象)中添加一个新记录。

var stateObj = { foo: 'bar' };

history.pushState(stateObj, 'page 2', '2.html');

这样地址栏就可以看到我们自己存的标识了。历史记录也就存进去了

举个栗子:

https://1277502619.github.io/admin/index.html

文章最后发布于: 2018-10-01 16:03:52

相关阅读

Javascript history对象的 history.pushState() 和 hi

history.pushState() 和 history.replaceState() 是history对象的两个新增的方法,是可以很好的操作历史记录的方法;history.State()

history.go()和history.back()的用法与区别

Javascript:history.go()和history.back()的用法与区别 简单的说就是:go(-1):返回上一页,原页面表单中的内容会丢失;back():返回上一

history.pushState()无刷新改变url

今天在做一个vue的搜索功能,需要从搜索结果页面跳转到细节页面,然后点击返回还能返回到刚刚的结果页面,如果只用window.history.go(-

history.pushState的实际使用笔记

history.pushState是HTML5的特殊,IE8+支持意思是在不刷新浏览器的情况下给浏览器记录插入队列的意思.“插菊花“参考地址:https://d

window.history跳转的实质

1、简介window.history是用来保存用户在一个会话期间的网站访问记录,并提供相应的方法进行追溯。其对应的成员如下:方法:back()、for

分享到:

栏目导航

推荐阅读

热门阅读