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

写在前面

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

  • 友情提示,为获得更好的观看或者阅读体验,可点击下方链接查看我在我来的个人笔记(无广告)
    UNI-APP H5应用白屏(空白页)解决方案

可能的原因

额外补充下,根据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 功能内核版本和手机系统有关,兼容性问题依然存在

(完)

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

  1. app中加载h5页面白屏问题

    一.问题描述:通过原生检查日志在网络不好的情况下,由于vue打包后的第三方js包加载失败导致h5页面白屏. 二.解决方案: 1.减少第三方依赖:在package.json中把不需要的包删除. 2.组件 ...

  2. vue+webpack打包发布到线上后微信公众号H5部分打开白屏,刷新又好了

    vue+webpack打包发布到线上后微信公众号H5部分打开白屏,刷新又好了 1.问题 2.原因 这次可能的原因 3.过渡方案 4.解决方案 4.1 配置nginx服务器 4.2 前端打包保留两个版本 ...

  3. uni App+H5 实现人脸识别

    uni App+H5 实现人脸识别 通过h5的视频video管理设备摄像头(不要关),在打开视频摄像时快照截取人脸照片传送到后台通过API接口调用百度人脸识别结果并通过返回数据解析自己业务需求. 1. ...

  4. Vue首屏加载白屏问题及解决方案

    Vue首屏加载白屏问题及解决方案 首先说一下首页加载为什么会白屏? 先说下 SPA 单页面的加载过程 首先就是 html ,也就是 FP 阶段 FP(全称"First Paint" ...

  5. android进出动画有白屏,Android启动白屏原因及解决方案

    如果大家碰到了这个问题,相信刚开始大家都是很委屈的吧,心里想:我什么都没干啊,就写了个setContentView就要背锅了?如果已经遇到了,不要方,这里给大家提供几个解决方案,我们APP在启动的时候 ...

  6. 阿里云OSS上传请求403问题的完美解决方案及uni.uploadFile h5上传文件失败完美解决方案

    在使用阿里云OSS服务时,会用到跨域AJAX上传,上传时报403错误,之前遇到过此类问题并成功解决了,但时间长了遗忘,因此记录下来以备后续学习了解ajax跨域上传OSS. ajax跨域上传首先会发送o ...

  7. 解决app欢迎页面白屏问题

    我们在打开APP时仔细观察的话会发现QQ,微信之类这些软件打开时和一些软件打开时有一些不一样的地方,有些APP打开时会闪一瞬间的白屏,如果手机卡的话白屏的时间会很长,对用户体验不是很好.我在网上查了相 ...

  8. 真正超简单解决App启动时白屏问题

    相信不少的童鞋都遇到过在开发App 的时候打开应用的时候,会有白屏的现象,网上也有不少类似的解决方案. 修改 application 的 theme ,然后在style里面添加一个背景 将 theme ...

  9. 【Android】解决启动APP闪黑/白屏

    前言 问题:在App启动过程中会出现闪白屏或黑屏的一段时间才进入布局界面.这样的体验十分不好. 首先来了解一下 冷启动 当启动应用时,后台没有该应用的进程,这时系统会重新创建一个新的进程分配给该应用, ...

最新文章

  1. 中国科学院大学研一课程教材课件共享项目
  2. InetAddress类和InetSocketAddress的使用
  3. 正则表达式(2.实例)
  4. postgresql 目录结构
  5. SAP HANA,S/4HANA 和 SAP BTP 的辨析
  6. python random randint_python中random.randint和random.randrange的区别详解
  7. Oracle 11g 新特性 -- 自适应游标共享(Adaptive Cursor Sharing: ACS) 说明
  8. (JAVA)StringBuffer类(练习)
  9. 教你精确计算 I2C 上拉电阻阻值
  10. kali linux conky配置文件,7个美丽的Conky配置为您的Linux桌面 | MOS86
  11. 最简单代码ASP.NET开源QQ登陆for Oauth2.0
  12. 【Django】ImportError: cannot import name 'execute_manager'
  13. windows mobile 上面固定比例图像缩放
  14. 仿函数functors
  15. linux内核编译(升级)
  16. 一个Python开源项目-腾讯哈勃沙箱源码剖析(上)
  17. 【一篇文章告诉你网格策略从理论到实盘的所有内容(python实现)】
  18. DSP28335 CAN模块使用
  19. 【linux】一篇全面的linux软件包管理的总结
  20. matlab中nargin函数

热门文章

  1. PDMReader 数据字典快速浏览工具
  2. 初刷leetcode题目总结 -- 数据结构
  3. 51Nod_1174区间中最大值
  4. pdf文件添加和删除删除线小教程
  5. python解析器的安装指导教程
  6. 【CCF相关】CCF考试的形式以及难度
  7. CSS画三角形及其原理
  8. 防止跨站点脚本注入_防止跨站点脚本攻击
  9. windows性能监视器的使用
  10. 地理位置服务——百度地图API