关于Flutter中InAppWebView的H5页面localStorage的缓存问题
现象:
开发了一个flutter项目,使用InAppWebView,里面链接Vue的项目,vue项目也是从github上找了一个框架,然后二次开发,开发的时候使用浏览器测试都正常,但是打包app后安装测试就有问题了,在注销第一个用户,再登录第二个用户后,获取到的还是第一个用户的信息.
查找原因:
非常明显的是,flutter InAppWebView缓存的问题,但是对dart语言不太熟,不想改flutter的代码,经过一番测试,发现是 用的vue项目在使用localStorage时,在上面又封装了一层,是使用ES6的class语法,估计是这样造成了flutter InAppWebView默认缓存机制对这个封装对象进行了缓存.
解决:
方法很简单,不使用框架的封装,直接使用原生localStorage对象获取即可:
const {username} = JSON.parse(localStorage.getItem('app_account'))

浙公网安备 33010602011771号