Android webview vue网页 Uncaught TypeError: Cannot read property ‘getItem‘ of null

1.问题

在Android 的 webview 中 显示 vue 网页后,发现有个网址传参并没有实现正确的逻辑操作,在页面上显示的结果不一样。
测试网页传参,传参读取正确。测试逻辑运算及其赋值,正确。
发现问题:在网页打印反馈中发现报错:Uncaught TypeError: Cannot read property ‘getItem’ of null

2.原因

getItem是网页上调用localStorage或者sessionStorage在浏览器中读取储存数据时调用的方法。
现在该方法读取的为空,按网页的代码来看如果为空会走其他的方法,但是查看发现为空的情况也没实现,应该的是在读写浏览器的储存数据方面导致问题。查询该报错了解到,Android 的 webview 中默认禁止网页Dom缓存的,所以网页无法读写缓存数据,才导致该问题。(还有人抱怨说前端工程师写的代码不规范,前端可不背锅,iOS和网页都没该问题,话说,Android不也是前端么)。

3.解决

webview 中设置允许缓存数据。


//允许Dom缓存数据
webSettings.setDomStorageEnabled(true); 

4.反思

有问题还得先从调试窗口看起,把报错解决了,别自己臆想些问题原因。先解决了那个报错,岂不能节省很多时间。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值