微信浏览器打开链接出现白屏,怎么解决?

前端框架:vue
后端:node.js
CDN:阿里云


移动端h5页面在微信浏览器中打开 部分手机 出现白屏,非必现,有时能打开有时不能打开。ios和安卓都有出现(安卓如果重新登录微信就会解决...神奇),但是在手机浏览器(safari,google,甚至uc)中都没有问题。

导致打不开的原因已发现有:

1.前端代码的缓存问题(因为vue打包后文件名改变,清除缓存就能解决)

举个例子:比如我页面的域名是https://aaa.bbb.com/admin
正常进入页面的话是https://aaa.bbb.com/admin/#/home(home是我的页面路由)

但现在出现新的情况,微信公众号推送消息(链接是与我的域名)后给链接带上了一堆参数https://aaa.bbb.com/admin/?v=...
这个是微信浏览器加载完成后白屏复制下来的,观察到没进到路由,所以白屏了。(不清除为什么没进到路由里,怀疑是解析的问题)

然后自己试着把https://aaa.bbb.com/admin 发给了领导,领导点开并成功进入页面,然后又关掉,有点开,直接白屏

接下来不管是微信推送有参数的还是我自己发没参数的给领导他手机都无止境的白屏,但是在公司同事的各种手机上没有问题(包括型号跟领导一样的iphone6)

好的,我挨批了,请问各位大佬有遇到过这个情况吗?
或者有哪里我描述不清楚我可以再组织一下语言,这个问题困扰了很久,不知道是我前端的问题,还是域名解析的问题,反正我前端代码改都没改就开始白屏T_T

阅读 19.1k
5 个回答

估计是 # 的问题。

把路由的 hash 模式改为 history 试试,记得要配置服务器,具体怎么配 vue-router 文档里有

有几种可能排查一下:

  1. 缓存

微信的缓存是很厉害的,打不开的页面,把 url复制出来看一看是否正确。
第一个要确定的就是会不会因为缓存或其它原因导致在微信中的 url 是不一样的。

  1. 同样是iPhone6,对应的 ios 版本可能不一样。

领导一般不太积极升级系统,很可能是系统版本比较低。
可能不兼容尖括号等新的js 语法。

有比较大的可能性是兼容性问题

新手上路,请多包涵

nginx 配置一下 try_files 找不到文件给index.html

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题