Open mishe opened 7 years ago
最近在忙一个运营活动,测试在多用户交叉测试时,发现一个诡异的问题:
localStorage.clear(); location.reload();
可以看到明确的调用了clear方法。
但是localStroage就是没有清除,这个可以由fiddler 的抓包数据可以证明。
百度了下:可以查到 https://segmentfault.com/q/1010000002739402 这个帖子,但回答的牛头不对马嘴
还是得靠google了,可以查到如下的地址
http://stackoverflow.com/questions/7667958/clear-localstorage 和 https://github.com/thoughtbot/capybara-webkit/issues/301
看上去似乎是webkit的事啊,那么在无法控制webkit升级的情况下,怎么解决这个问题呢?
localStorage.clear(); setTimeout(function(){ if(localStorage.length>0){ window.localStorage.clear(); } location.reload(); },50);
调用clear后,在通过一个延时检测localstorage是否真的已经没有数据了,如果还有,在清理一次
最近在忙一个运营活动,测试在多用户交叉测试时,发现一个诡异的问题:
检测用户退出的代码:
可以看到明确的调用了clear方法。
但是localStroage就是没有清除,这个可以由fiddler 的抓包数据可以证明。
这是碰上什么鬼?
百度了下:可以查到 https://segmentfault.com/q/1010000002739402 这个帖子,但回答的牛头不对马嘴
还是得靠google了,可以查到如下的地址
http://stackoverflow.com/questions/7667958/clear-localstorage 和 https://github.com/thoughtbot/capybara-webkit/issues/301
看上去似乎是webkit的事啊,那么在无法控制webkit升级的情况下,怎么解决这个问题呢?
我尝试了如下代码
调用clear后,在通过一个延时检测localstorage是否真的已经没有数据了,如果还有,在清理一次