HTML5新api即pushState和replaceState实现无刷新修改url
2015-08-18 12:02
477 查看
1,首先我面临一个需求,页面回退时需要知道来之前的页面状态。很简单,回退时在url里赋参数即可。问题是在ipad上,回退按钮是安卓那边的,我控制不了。只好采用js无刷新修改url历史记录,来告诉服务器我回去时要给我保持神秘状态。
先上代码,再解释这两个api。
2,HTML5新添加了两个api分别是pushState和replaceState,DOM中的window对象通过window.history方法提供了对浏览器历史记录的读取,可以在用户的访问记录中前进和后退,我们可以开始操作这个历史记录堆栈。真是极好的。
push是插入,replace是替换上一个url历史记录。
还发现pushState有一个好用处。Ajax+pushState可以实现翻页无刷新的动作。本来ajax就是无刷新局部请求页面了,但如果你想要保持一个正确的状态,来作返回的地址的话。你就要在每次ajax请求之后去pushState一个合适的地址到历史记录中。
(如有不准确的地方,欢迎指正)
先上代码,再解释这两个api。
var url=window.location.href; var length=url.length; newur=url+"****"; history.replaceState(null, "",newurl);
2,HTML5新添加了两个api分别是pushState和replaceState,DOM中的window对象通过window.history方法提供了对浏览器历史记录的读取,可以在用户的访问记录中前进和后退,我们可以开始操作这个历史记录堆栈。真是极好的。
push是插入,replace是替换上一个url历史记录。
还发现pushState有一个好用处。Ajax+pushState可以实现翻页无刷新的动作。本来ajax就是无刷新局部请求页面了,但如果你想要保持一个正确的状态,来作返回的地址的话。你就要在每次ajax请求之后去pushState一个合适的地址到历史记录中。
(如有不准确的地方,欢迎指正)
相关文章推荐
- Html5文件
- HTML5新标签
- atitit.js 与c# java交互html5化的原理与总结.doc
- atitit.js 与c# java交互html5化的原理与总结.doc
- atitit.js 与c# java交互html5化的原理与总结.doc
- Java开发人员必须重视HTML5的五点理由
- 如何在HTML5页面播放加密视频
- HTML5框架、背景和实体
- html5学习之路_001
- 详解HTML5中的<aside>元素与<article>元素
- HTML5移动开发:手机屏幕分辨率和手机浏览器分辨率
- 【实例】html5在canvas上绘制坐标轴
- 使用条款和隐私政策of EzRobotics
- html5多线程
- html5之本地存储
- 使用HTML5 canvas 标签进行图片裁剪、旋转、缩放
- HTML5 调用手机摄像头 Demo
- html5 调用摄像头进行拍照
- HTML5逐步实现
- HTML5 手机摇一摇实现