思路:
晚上正准备关电脑早点溜街时,测试那边提了一个移动端访问H5页面无数据展示的bug,那一刻有些头疼,但是马上进入了调试状态。
首先打开了Fiddler抓包工具,把抓到的url复制到PC浏览器进行访问,结果发现PC上访问这个页面是有数据的,那就有些蛋疼了呀,今晚就得要发新版本,没想到最后还出这个幺蛾子,突然之前成为了全村的希望,感觉有些受宠若惊。
冷静分析了下,与浏览器抓到的东西进行了比对,发现移动端是没有进行接口请求的,那估计是我的代码出了问题,推测是vue生命周期问题,但是在浏览器访问该页面的时候又没有报错。好吧,那就在项目加个打印工具(这里推荐使用eruda,不要使用vconsole,vconsole打印不全面)。发现是window.localStorage那个赋值地方出了问题,提示什么不能给localStorage的属性赋null,但实际上我赋的值是可以打印出来的,有判断了下window.localStorage,发现浏览器不支持window.localStorage,于是改变使用sessionStorage,问题解决了。这次的问题我感觉很奇葩,明明测试环境localStorage是支持的,到了正式环境就不支持了。
解决方案:
手机浏览器不支持localStorage,改用sessionStorage