安卓和ios系统键盘的问题
// 这个用来解决ios和安卓系统键盘的问题
mounted () {
// 监控窗口变化事件
let self = this
window.onresize = function () {
return(function(){
self.screenHeight = document.documentElement.clientHeight
})();
}
},
watch:{//监听窗口的变化,判断是否需要影藏
screenHeight(val){
if(this.originHeigh > val+100){
this.btmHidden = false
}else{
this.btmHidden = true
}
},
}
固定页面,不让滚动的方法
// 遮罩层下禁止body滚动
isvisible0(val){
if(val){
let scrollTop = document.body.scrollTop || document.documentElement.scrollTop
document.body.style.cssText += "position:fixed;top:-" + scrollTop + 'px';
}else{
let body = document.body;
body.style.position = "";
let top = body.style.top;
document.body.scrollTop = document.documentElement.scrollTop = -parseInt(top);
body.style.top = "";
}
}
页面回跳,go(-1)的区别 在ios和安卓端,用go(-1)做回调是不一样的效果,安卓端的go(-1)是访问上一个地址,而ios的go(-1)是从缓存中取去取出上一个地址缓存的页面,并且不会触发页面的任何钩子函数, 由于不会触发任何钩子函数,在APP软件开发时,容易把上一个页面的导航外壳给带过来,遇到这个问题,可以对回调进行封装,如果是ios系统,回调就是对上一个地址访问,这样就达成了ios和安卓的统一, 当然,也可以在页面打开时构建一个pageshow事件,通过这个事件,来判断页面是否是处在缓存状态还是展示状态,根据这个来达成触发钩子函数的条件。