现象
App操作cookie时直接崩溃,App与H5均未更新代码,突然在下午2点开始出现崩溃
原因:H5页面引入了一个百度地图js。这个js在2点更新了。这个js影响了App获取最后一次url的地址,获取到的为about:srcdoc(经测试H5是体现不出这个的,浏览器的location、history都没有此记录)。在此基础上操作cookie就导致了app崩溃
<script type="text/javascript" src="https://api.map.baidu.com/api?v=2.0&ak=hiypv7ViI2YWCTEQp0GfOuxxGq4gU3SM"></script>
定位过程
1、测试发现app崩溃,验证线上也存在此问题。沟通发现App是未更新的、打开的H5也是未更新的。
2、app开发debug发现是在操作cookie时崩溃的,且获取到的URL为about:srcdoc。所以问题关键就是about:srcdoc是怎么加载进来的,H5代码也没有相关引入或打开。开始怀疑是引入的js导致的
3、将H5可疑的js干掉后测试,发现将百度地图的js引入去掉后变为正常。故此元凶为百度地图这个js。查看js引入方式,并没有引入指定具体的版本,这种引入方式导致返回的js被动升级了
建议
引入js时非自己控制的,不建议使用如上方式引用。最好是下载具体版本后放到自己的cdn服务上。