js返回多级页面不生效

JavaScript019

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

js返回多级页面不生效:

五分钟 页面逻辑:页面中存在另一个链接,通过链接跳转页面,在点击浏览器导航回退时。发现上级页面会不执行js操作(页面不会重新加载,会直接读取浏览器缓存)

展现结果:返回后页面不刷新,一些失效的信息依然显示在页面上

机型:这个问题会在iphone和部分android内置浏览器(vivo nex内置浏览器、华为荣耀手机)发生。

产出原因:这一切都是页面的缓存数据搞的鬼。什么是页面的缓存数据?浏览器的“往返缓存(back-forward cache - bfcache)”特性。简写是bfcache。这个是firfox提出的叫做"往返缓存"的一种缓存机制,用来加快用户在点击浏览器前进或者后退按钮时的速度。chrome放弃了bfcache,但是ios(webkit)的微信浏览器和safari

1、angularjs有自带的返回上一页的路由,在路由里面用

2、比如点击物业的时候进入下一个页面,箭头是自带的,当然箭头样式需要自己调整。

3、该方法是运用的ionic框架实现的,基于angularjs的方式。

window对象的history属性记录的只是url,因此引用history.go方法的时候就是重新加载一次url,所以页面一定会刷新的。如果还想保证上一个页面的数据的话可以通过保存的方法,将数据保存到服务器上,然后页面加载时在重新显示出来。