uniapp H5中ios跳转后返回上一页页面白屏

1 篇文章 0 订阅

使用uniapp开发的H5页面中,使用window.location.href跳转到别的系统页面(就是A-H5页面跳转到B-H5页面),返回上一页时(就是B回退到A时),ios系统页面出现了白屏,而Android端没问题。

处理方法之一:

//先获取并判断当前处于什么系统,如何获取当前页面处于什么手机系统可通过uniapp提供的uni.getSystemInfo
if(whatSystem == "iPhone"){
   window.onpageshow = function(event) {
       if (event.persisted) {
          window.location.reload()
       }
   };
}

处理方法之二:

//先判断白屏页面的高度为0,再刷新页面
this.$nextTick(()=>{
	const query = uni.createSelectorQuery().in(this);
	query.select('#home').boundingClientRect(data => {
		 if(data.height == 0){  
			window.location.reload();
		 }
	 }).exec();
})

补充记录一下:window.onpageshow 事件

onpageshow 事件在用户浏览网页时触发。
onpageshow 事件类似于 onload 事件,onload 事件在页面第一次加载时触发, onpageshow 事件在每次加载页面时触发,即 onload 事件在页面从浏览器缓存中读取时不触发。
为了查看页面是直接从服务器上载入还是从缓存中读取,你可以使用 PageTransitionEvent 对象的 persisted 属性来判断。 如果页面从浏览器的缓存中读取该属性返回 ture,否则返回 false。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值