后面查了下百度 说现在的浏览器 都有缓存
这一切都是页面的缓存数据搞的鬼。什么是页面的缓存数据?浏览器的“往返缓存(back-forward cache - bfcache)”特性。简写是bfcache。这个是firfox提出的叫做"往返缓存"的一种缓存机制,用来加快用户在点击浏览器前进或者后退按钮时的速度。chrome放弃了bfcache,但是ios(webkit)的微信浏览器和safari浏览器还有部分安卓的内置浏览器(webkit)还是存在。bfcache将离开页面时的DOM和JS的状态全都保存了下来,也就是说将整个页面保存了下来放在了页面的缓存当中。
可以使用下面代码来避免
window.onpageshow = function (e) { console.log(e) if (e.persisted) { // 如果页面是读取缓存 // 执行逻辑... } }