1.解决 浏览器 返回按钮不刷新的问题 window.onpageshow = function(event) { if (event.persisted) { window.location.reload() }}; 2.H5 中 JS 禁用安卓手机物理返回键 XBack = {}; (function(XBack) { XBack.STATE = 'x - back'; XBack.element; XBack.onPopState = function(event) { event.state === XBack.STATE && XBack.fire(); XBack.record(XBack.STATE); //初始化事件时,push一下 }; XBack.record = function(state) { history.pushState(state, null, location.href); }; XBack.fire = function() { var event = document.createEvent('Events'); event.initEvent(XBack.STATE, false, false); XBack.element.dispatchEvent(event); }; XBack.listen = function(listener) { XBack.element.addEventListener(XBack.STATE, listener, false); }; XBack.init = function() { XBack.element = document.createElement('span'); window.addEventListener('popstate', XBack.onPopState); XBack.record(XBack.STATE); }; })(XBack); // 引入这段js文件 XBack.init(); XBack.listen(function() {});
3.解决移动端底部input被弹出的键盘遮挡问题 方法1、 Element.scrollIntoView(); // 让当前的元素滚动到浏览器窗口的可视区域内 document.querySelector('#inputId').scrollIntoView(); 方法2:
Element.scrollIntoViewIfNeeded();