js返回多级页面不生效

JavaScript07

js返回多级页面不生效,第1张

js返回多级页面不生效:

五分钟 页面逻辑:页面中存在另一个链接,通过链接跳转页面,在点击浏览器导航回退时。发现上级页面会不执行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>

这里就是不带刷新页面的。