History API 使用不当导致浏览器无法后退
来源:互联网 发布:汉字发音软件 编辑:程序博客网 时间:2024/06/07 10:51
经常有人问我「地址栏更新页面不刷新」是怎么实现的?我回答过好多次,只是 History API 而已。History API 已经不是什么新东西了,基本上已经是普及的状态了。但一个东西普及后也会带来种种困惑。比如如果没有好好驾驭它,就会把安卓手机的后退键搞残废掉。
使用了 History API 的网页中经常会遇到无法后退的情况。原因大概是在 onpopstate 事件中做了同样的 pushState。比如下面代码就是一个典型 运行
使用了 History API 的网页中经常会遇到无法后退的情况。原因大概是在 onpopstate 事件中做了同样的 pushState。比如下面代码就是一个典型 运行
<script>
onpopstate=function(e){
history.pushState(null,null,location.href);
};
history.pushState(null,null,location.href);
</script>
无法后退在 PC 端的影响也许并不大,但在安卓机上,后退键经常会用于退出程序,如果后退键被搞残废了那就真不知道该如何退出程序了。
或许各位用土豪肾的大大根本没有遇到过这个问题吧?反正我自己是经常遇到,今天只是找个机会喷喷这个问题而已。本文由罗建博客编辑整理。
0 0
- History API 使用不当导致浏览器无法后退
- Thread.interrupt() 使用不当,导致程序无法退出
- Thread.interrupt() 使用不当,导致程序无法退出
- android Adapter.getItemViewType()使用不当会导致AdapterView无法刷新
- history pushState 实现浏览器前进与后退
- PosgreSQL 索引 COLLATE 设置不当导致查询优化无法使用索引
- PosgreSQL 索引 COLLATE 设置不当导致查询优化无法使用索引
- html5新特性:利用history的pushState等方法来解决使用ajax导致页面后退和前进的问题
- ArrayList使用不当导致ListActivity失去响应
- simple_html_dom使用不当导致的内存泄漏
- TransitionDrawable使用不当导致内存泄露
- mysql limit 使用不当导致的bug
- Messenger使用不当导致的内存泄漏
- javascript history.back()实现回退,等同于浏览器后退按钮
- JavaScript Window History 实现浏览器的 前进 后退 功能
- h5 history api实现无刷新前进后退
- 使用useradd添加用户后默认sh为/bin/sh导致无法使用history
- form 的 encoding设置不当导致在jsp中使用request.getParametre(paraName)无法获取表单提交的值
- 读《软件架构师应该知道的97件事》
- 深入分析使用mysql_fetch_object()以对象的形式返回查询结果
- Ubuntu环境安装配置Bugzilla
- DLL文件——让我来管理(二)
- ios 滑动手势向右移动
- History API 使用不当导致浏览器无法后退
- C#连接数据库sqlserver2005,执行存储过程的实例
- C#设计模式(十)代理模式
- nyoj 301递推求值 (矩阵+快速幂)
- 基于Ogre的角色控制器
- 【黑马程序员】经典指针问题
- iOS NSURLSession使用
- Linux搭建openfire服务
- Hibernate学习笔记之持久化实现