js响应手机物理返回键 通过sessionStorage和历史记录实现
2017-03-28 10:16
597 查看
<!DOCTYPE html> <html lang="en" style="height: 100%;"> <head> <meta charset="UTF-8"> <title>响应手机返回键</title> </head> <style> .prj-cover-floor { display: none; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); position: absolute; top: 0; left: 0; } .active { display: block; } </style> <body style="height: 100%;"> <div> <button id="prj-filtrate-open-icon">点我出现浮层</button> </div> <div id="prj-cover-floor" class="prj-cover-floor"></div> <script src="http://cdn.static.runoob.com/libs/jquery/1.10.2/jquery.min.js"></script> <script> $("#prj-filtrate-open-icon").on("click", function() { //添加历史记录 history.pushState({ prjCoverFloor: "prj-cover-floor" }, ""); //添加sessionStorage sessionStorage.prjCoverFloor = true; //浮层显示隐藏 $("#prj-cover-floor").attr("active") ? $("#prj-cover-floor").removeClass("active") : $("#prj-cover-floor").addClass("active"); }); /* ** 监听历史记录来响应手机物理返回键 */ window.addEventListener("popstate", function(e) { /* ** 整屏浮层 ** 通过sessionStorage.prjCoverFloor判断 true是有浮层 ** sessionStorage 页面存储 关闭页面会被清空 */ if (String(sessionStorage.prjCoverFloor) == "true") { $("#prj-cover-floor").removeClass("active"); //隐藏浮层 sessionStorage.prjCoverFloor = false; //更新sessionStorage } }, false); </script> </body> </html>
//最早的时候想用hash或url参数来实现发现不好控制 因为点击返回时url已经变化了
//想要取上一个url没找到方法
//这种方式实现也会有个问题 如果添加了历史记录后面没有触发返回事件 就会多一条历史记录
//返回上个页面就要点击两次返回键
相关文章推荐
- js通过sessionStorage实现的返回上一页
- 通过Jquery.cookie.js实现展示浏览网页的历史记录超管用
- 通过批处理实现删除运行、查找等处的历史记录的代码
- 通过制定SQL计划和系统计划实现]SQL Server 2005数据库定期备份和删除历史备份记录
- js实现对Android设备物理返回键单击/双击事件处理(Framework7框架)
- 利用js实现 禁用浏览器后退| 去除上一个历史记录链接
- H5中 JS 禁用安卓手机物理返回键 , 微信浏览器中也支持
- 通过JS自动隐藏手机浏览器的地址栏实现原理与代码
- 编写一个通讯录,功能与以前的诺基亚手机一样,可以通过键盘进行箭头的移动,回车进入选项,用“W”键代表手机手机左键,“backspace”键代表返回上一级。能够实现基本的人性化的增删改查及文件的导入导出
- js实现搜索历史记录功能
- 前端通过JS将从后端接口返回的大数求和的简单实现
- 用JS实现浏览历史记录功能
- CSS样式控制实现IE提交表单记录历史点击返回信息仍在
- JS返回上一页-通过图片和按钮分别实现
- git是一种分布式代码管理工具,git通过树的形式记录文件的更改历史,比如: base'<--base<--A<--A' ^ | --- B<--B' 小米工程师常常需要寻找两个分支最近的分割点,即base.假设git 树是多叉树,请实现一个算法,计算git树上任意两点的最近分割点。 (假设git树节点数为n,用邻接矩阵的形式表示git树:字符串数组matrix包含n个字符串,每个字符串由字符'0
- js屏蔽退格返回历史记录
- js操作Cookie,实现历史浏览记录
- js 实现浏览历史记录示例
- js 实现浏览历史记录示例
- 记录:通过Socket实现局域网内,手机关闭电脑