Android物理返回键的点击事件,一般webview的默认行为是 window.history.go(-1) ,但是在实际需求场景下,简单的页面回退并不能满足需求,所以需要H5页面监听Android物理返回键从而自定义处理方法。
原理
主要是运用 HTML5 History API 实现。所以,首先简单介绍下 HTML5 History API
history 属性
history.length
history.state
复制代码
history 方法
history.back()
history.forward()
history.go()
复制代码
HTML5 新API
history.pushState(state, title, url); 添加一条历史记录,不刷新页面
history.replaceState(state, title, url); 替换一条历史记录,不刷新页面
事件
popState事件:历史记录发生变化时触发,调用history.pushState()或history.replaceState()不会触发此事件
window.addEventListener('popstate', handlePopstate);
复制代码
hashchange事件:页面hash值发生改变时触发
window.addEventListener('hashchange', handleHashChange);
复制代码
监听Android物理返回键实现
// index.js
(funct