UNI-APP H5应用白屏(空白页)解决方案

48 篇文章 1 订阅
22 篇文章 7 订阅

UNI-APP H5应用白屏(空白页)解决方案

写在前面

        最近公司有一些临时业务急需上线,考虑到H5应用测试部署的便捷性,因此从技术上采用H5网页的方式快速响应业务的需求,由于自己对uni-app 比较熟悉,之前也有用过uni-app开发过微信小程序,整理体验都还不错,这次也就采取uni-app开发H5应用,结果开发测试都还好,上线之后部分IOS用户反馈应用无法打开,具体现象表现为链接打开显示空白页、白屏。针对这个问题,也是困扰了我两三天,今天终于找到问题所在,特此记录,同时把我这段时间怕坑的经历分享给大家,希望广大开发者少走弯路。

可能的原因

额外补充下,根据uni-app 官网文档介绍各操作系统版本支持情况如下 :

  • IOS≥8
  • 安卓≥ 4.0

CSS3 不兼容

  • 首先确定的是flex是否兼容,根据uni-app官方文档介绍flex的兼容性是ok的,然后定位了代码中使用到的几处CSS3 属性,经 can I use 查询均是支持的 因而可以排除是CSS3 的问题

ES6 不兼容

  • 通过HX创建的uni-app打包是默认会将ES6代码打包为ES5,若是通过cli 方式创建的uni-app项目,则需要安装babel进行转换,这方面的文章和教程非常的多,此处不再赘述。

关于通过cli方式创建的uni-app项目如何将ES6转ES5还有一个特别的方法,在次提醒下:可以将cli项目下的src目录通过HX打开,此时在HX环境下编译打包,就会走HX的打包逻辑,也就会自动开启ES6转ES5 ,亲测有效!

ES6 检查是尤其要注意是否使用了async await 语法,const等关键字

如果是ES6导致的不兼容问题,通过上述的方法将ES6转换为ES5 语法应该就能解决白屏问题!

服务器带宽限制

  • 若访问量大,并发高,达到服务器带宽上限,导致客户端无法从服务器获取资源,也会导致白屏问题,不过此时应该是大部分用户(无差别)都是白屏现象。为什么要额外提一下服务器带宽限制呢,因为在项目刚上线的时候确实发生过这种情况,特此记录!

如果是服务器带宽限制那么问题相对好解决,一是升级服务器配置(加钱),二是优化项目结构,压缩图片大小等减少资源传输降低带宽(优化)。

uni-app中使用了Vue的全局混入语法mixins

  • 经过我多次对问题的排查,终于定位到当前项目出现白屏的原因:**使用的Vue的全局混入语法 **

解决办法,将全局混入变为按需引入,从而问题解决,如果大家在uni-app 项目中有使用到全局混入,一定要注意在发布成H5应用是,在低版本IOS系统中将无法打开网页,而是显示白屏。

  • 经过初步测试全局混入在IOS 11 及其以上的系统中正常,在IOS10 及其以下的系统总显示为白屏

其它我尝试过的方案

为了解决白屏问题,在没有思路的时候我尝试过以下办法,仅供参考

发布成微信小程序

  • 发布成微信小程序,可以完全抹平兼容性问题,但是要注意微信小程序的发布上线受微信审核周期的限制,如果是紧急项目或是需求变更频繁的项目采用此方案需要慎重

通过web-view 的形式嵌入到微信小程序中

  • 经测试该方案无法解决兼容性问题,微信小程序的web-view 功能内核版本和手机系统有关,兼容性问题依然存在

(完)

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
Uni-app是一种基于Vue框架的跨平台开发工具,可以同时开发小程序、H5App等多个平台的应用。而当我们在使用Uni-app开发H5应用时,有时可能会遇到403错误。 403错误是指服务器拒绝了我们的请求,意味着我们没有权限访问某个资源。这个错误通常是由于以下几个原因造成的: 1. 服务器设置了访问限制:这意味着服务器对我们的请求进行了权限认证,但我们没有提供有效的凭证或凭证无效,因此被服务器拒绝。这时,我们需要检查我们的认证信息是否正确或者获取有效的凭证。 2. 权限不足:有些服务器会对特定的资源或目录设置了访问权限,如果我们的身份或权限不足以访问该资源或目录,就会出现403错误。这时,我们需要联系服务器管理员或提供足够的权限来访问。 3. IP黑名单:有些服务器会根据IP地址进行访问拦截,如果我们的IP地址被服务器列入了黑名单,就会被拒绝访问。这时,我们可以尝试通过其他网络环境访问,或与服务器管理员联系解决。 解决这个问题的方法有: 1. 检查认证信息:确保我们的认证信息是正确的,例如用户名、密码、API密钥等。 2. 修改访问权限:如果是权限不足导致的403错误,我们可以联系服务器管理员或提供足够的权限来访问。 3. 检查IP地址:如果我们怀疑是IP地址被列入黑名单导致的403错误,可以尝试使用其他网络环境访问,或联系服务器管理员进行解决。 总结起来,Uni-app H5出现403错误通常是由于服务器拒绝了我们的请求,可能是认证信息错误、权限不足或IP地址被列入黑名单等原因导致的。解决方法包括检查认证信息、修改访问权限和检查IP地址等。具体解决方案还需根据具体情况进行调试和处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

mingyong.g

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

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

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

打赏作者

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

抵扣说明:

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

余额充值