记录移动端H5页面遇到的坑 scrollTop兼容等 ios和安卓移动端网页兼容 键盘收回后页面不回滚 多个toast兼容 IOS底部回滚导航高度

一、一键回到顶部

超管用,O(∩_∩)O哈哈~

window.scrollTo(0,0);
二、关于存储方面的兼容问题

IOS清除微信缓存和安卓清除微信缓存,略有不同。
IOS清除微信缓存并没有把网页内sessionStorage清除掉,但是安卓可以。此处需要增加额外判断条件。

三、刷新页面保存状态管理器 store里面的数据

在APP.vue页面 create方法中加入

created(){
        //在页面加载时读取sessionStorage里的状态信息
        if (sessionStorage.getItem("store") ) {
            this.$store.replaceState(Object.assign({}, this.$store.state,JSON.parse(sessionStorage.getItem("store"))))
        }
        //在页面刷新时将vuex里的信息保存到sessionStorage里
        window.addEventListener("beforeunload",()=>{
            sessionStorage.setItem("store",JSON.stringify(this.$store.state))
        })
    },
四、IOS 7/7P以下 键盘收回后页面不回滚,造成页面卡死以及按钮错位

此处只需要一行代码即可,在输入框失去焦点事件中让页面回滚到顶部即可

<input @blur="memoBlur" @input="onMemoInput" class="memo" type="text" placeholder="请输入备注(非必填)">

memoBlur(){
	         window.scrollTo(0,0);
	      },
五、VANT toast组件 多个吐司同时展示 多个吐司兼容
//在main.js中,在本项目中我是按需引入组件的;
import { Toast } from 'vant';
Toast.allowMultiple();

//在其他vue页面中,先定义一个toast基本样式,再在需要调用的地方,直接输入message内容即可
//第一步:定义
let toastTips = this.$toast.loading({
                message: '',
                forbidClick: true,
            });
//第二步: 使用的地方
toastTips.message = "loading的提示信息";

//最后,如果吐司太多,比较乱的话,还可以在需要的地方调用 clear;
toastTips.clear();
六、IOS底部回滚空白处影响页面滚动高度,遮挡主页面内容

由于我们的项目在页面左侧有一个滚动菜单,所以进页面后会计算可视高度,故在此如果多余一个回滚导航栏,会遮挡部分内容,于是我们选择在页面mounted事件中加了一个500毫秒的延时,问题即可解决。

setTimeout(()=>{
                let screen_height = window.innerHeight || document.documentElement.clientHeight ||document.body.clientHeight;
                screen_height = screen_height-11*14-70;
                console.log("screen_height===",screen_height);
            },500);

未完待续……,如有错误,欢迎指正

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

【拾光静好 微微一笑】

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值