用HTML5的popstate如何玩转浏览器历史记录
来源:互联网 发布:甲醛检测仪 知乎 编辑:程序博客网 时间:2024/05/16 17:52
一、popstate用来做什么的?
简而言之就是HTML5新增的用来控制浏览器历史记录的api。
二、过去如何操纵浏览器历史记录?
window.history对象,该对象上包含有length和state的两个值,在它的__proto__上继承有back、forward、go等几个功能函数
在popstate之前,我们可以利用back、forward、go对history进行后退和前进操作。
例如:
history.back(); (后退一步,使用history.go(-1)也可实现后退效果)
弊端:只能操作前进后退,但是无法控制前进后要去哪,history.length都只会维持原来的状态
三、popstate的怎么用?
HTML5的新API扩展了window.history,使历史记录点更加开放了。可以存储当前历史记录点pushState、替换当前历史记录点replaceState、监听历史记录点popstate。
pushState、replaceState两者用法差不多。
使用方法:
history.pushState(data,title,url);
//其中第一个参数data是给state的值;第二个参数title为页面的标题,但当前所有浏览器都忽略这个参数,传个空字符串就好;第三个参数url是你想要去的链接;
replaceState用法类似,例如:history.replaceState("首页","",location.href+ "#news");
两者区别:pushState会改变history.length,而replaceState不改变history.length
阅读全文
0 0
- 用HTML5的popstate如何玩转浏览器历史记录
- 图解用HTML5的popstate如何玩转浏览器历史记录
- 如何控制浏览器的历史记录
- 如何快速清除IE8浏览器的历史记录
- 操纵浏览器的历史记录
- 获得手机浏览器的历史记录
- 浏览器历史记录
- 如何创建跨浏览器的HTML5表单
- 如何创建跨浏览器的HTML5表单
- android代码如何获取非自带浏览器的历史记录,最好附带关键代码
- android代码如何获取非自带浏览器的历史记录,最好附带关键代码
- 清除MyEclipse内置浏览器的历史记录
- 清除Chrome浏览器的历史记录、缓存
- 关于IE浏览器历史记录的一些知识
- 关于IE浏览器历史记录的一些知识
- 浏览器不记录操作的历史记录
- 浏览器history对象关于历史记录的使用
- python分析谷歌浏览器的历史记录
- hibernate 逆向工程 生成实体加映射文件
- nodejs入门
- Nodejs转发带cookie请求(superagent)
- 研究hidesBottomBarWhenPushed的实现原理,来实现自定义TabBar时,如何控制其显示与隐藏
- toString与String的区别
- 用HTML5的popstate如何玩转浏览器历史记录
- Mac OS X 自带PHP环境gd库扩展缺少freetype 解决办法
- 当你的windows程序窗口不在当前屏幕上怎么办
- 一直在寻找 神一般的代码 到底在哪里?
- Centos 7 常用命令
- Linux的环境(Java和hadoop)
- webservice 1
- Android高手必学个性化控件之ProgressBar
- 架构的典型组成部分