淘宝flexible.js源码分析

下面三种情况都会刷新页面,都会触发load事件。

1.a标签的超链接。

2.F5或者刷新按钮(强制刷新)

3.前进后退按钮

但是火狐中,有个特点,有个“往返缓存”,这个缓存中不仅保存着页面数据,还保存了DOM和javaScript的状态;实际上是将整个页面都保存在内存中。

所以,此时后退按钮不能刷新页面。

此时可以使用pageshow事件来触发。这个事件在页面显示时触发,无论页面是否来自缓存。在重新加载页面中,pageshow会在load事件处罚后触发;根据事件对象中的persisted来判断是否是缓存中的页面触发的pageshow事件,

注意这个事件给window添加。

相关推荐