单页面 历史状态管理
2016-01-28 13:57
295 查看
历史状态管理API可以让你改变URL而不用载入一个新的页面
history.pushState({name:”Nicholas”}, “Nicholas’ page”, “nicholas.html”);
执行了这个方法以后,新的地址会被加到历史记录状态里,而且location.href也会反映新的地址。
后退按钮也会被激活,当后退按钮按下时,会触发popstate事件,事件对象有一个叫做state的属性,包含了传进来对象内容:
EventUtil.addHandler(window, “popstate”, function(event){
var state = event.state;
if (state){ //state is null when at first page load
processState(state);
}
});
修改state信息的方法:
history.replaceState({name:”Greg”}, “Greg’s page”);
确保自己做的URL在服务器有对应的地址,不然按刷新按钮会导致404
if (typeof history.pushState != 'undefined') {
// Async elements and that one-page-app snazziness
} else {
// It still works. Don't panic. Normal URLs and requests FTW.
}
history.pushState({name:”Nicholas”}, “Nicholas’ page”, “nicholas.html”);
执行了这个方法以后,新的地址会被加到历史记录状态里,而且location.href也会反映新的地址。
后退按钮也会被激活,当后退按钮按下时,会触发popstate事件,事件对象有一个叫做state的属性,包含了传进来对象内容:
EventUtil.addHandler(window, “popstate”, function(event){
var state = event.state;
if (state){ //state is null when at first page load
processState(state);
}
});
修改state信息的方法:
history.replaceState({name:”Greg”}, “Greg’s page”);
确保自己做的URL在服务器有对应的地址,不然按刷新按钮会导致404
if (typeof history.pushState != 'undefined') {
// Async elements and that one-page-app snazziness
} else {
// It still works. Don't panic. Normal URLs and requests FTW.
}
相关文章推荐
- [置顶] 友情链接
- openstack运维实战系列(十五)之nova虚拟机目录变更引发"血案"
- A - Brackets
- MySQL 截取部分日期
- Maven 标准目录结构
- ActivityGroup+GridView实现Tab分页标签的方法
- ashx获取另一个页面的返回内容
- 利用HTML5 的datalist 元素实现输入提示
- 动画库
- 1/28
- 互联网网站的反爬虫策略浅析
- Android中Animation 详细解读
- Android 动画AlphaAnimation类方法
- android ListView和GridView拖拽移位实现代码
- GridView多选效果的实例代码
- Android 四:区分刷机与root
- DM9000时序设置
- jQuery解决IE6、7、8不能使用 JSON.stringify 函数的问题
- 关于viewports 设备像素比 密度
- 基于阿里云从日PV400到150w网站服务器升级记