五分钟 页面逻辑:页面中存在另一个链接,通过链接跳转页面,在点击浏览器导航回退时。发现上级页面会不执行js操作(页面不会重新加载,会直接读取浏览器缓存)
展现结果:返回后页面不刷新,一些失效的信息依然显示在页面上
机型:这个问题会在iphone和部分android内置浏览器(vivo nex内置浏览器、华为荣耀手机)发生。
产出原因:这一切都是页面的缓存数据搞的鬼。什么是页面的缓存数据?浏览器的“往返缓存(back-forward cache - bfcache)”特性。简写是bfcache。这个是firfox提出的叫做"往返缓存"的一种缓存机制,用来加快用户在点击浏览器前进或者后退按钮时的速度。chrome放弃了bfcache,但是ios(webkit)的微信浏览器和safari
JSP实现无刷新返回通过js控制单纯跳转即可。Javascript 返回上一页用:
history.go(-1),
返回两个页面: history.go(-2)
在页面中的写法是:<a href="javascript:history.go(-1)">向上一页</a>
这里就是不带刷新页面的。