第三方App内嵌H5页面呈现空白页(钉钉&webview&vue3+ts)

824 阅读2分钟

背景

最近我们在做项目时遇到了一个比较难排查的问题,先阐述下项目背景。我们团队开发的智能客服项目要在钉钉移动app上嵌入。
客户是zhilian。遇到的问题是在智联app中iphone能够正确打开H5页面,而在安卓的app中则表现的是空白页。

从问题分析、定位、解决花了我将近5个小时的时间。所以特此记录当前解决和分析的流程。

技术栈

前端框架使用的是vue3.0+ts+vue/cli5

错误解决过程

首先想到的是vue版本和浏览器版本的兼容性问题。身为前端都知道es2015版本的javascript(es6)在不能解析es6语法的浏览器会报语法错误。跟随着我们的预期方向,我查询了vue官网对vue3支持浏览器的描述,各大浏览器厂商对es6的版本支持程度如下:

image.png

图中我们可以看出vue3在各个浏览器的各个版本的支持情况。那么接下来我们就要带着这个疑问去验证安卓端钉钉app的webview内核用的是什么?对应的版本号是多少?

但是事与愿违,想要看到验证H5确实是浏览器版本导致的页面空白,就必须看到H5日志。恰恰我的代码中没有针对移动端使用vConsole模块(项目中嵌入,使用时打开控制台面板)。那还有那些方式能够看到H5页面在钉钉app上的运行日志呢?

经过分析、查找资料得知chrome浏览器自带监听安卓设备的工具,点击chrome浏览器设备可以使用。具体使用方式请查看这篇文章

未完待续......