下面三种情况都会刷新页面都会触发load事件
1 | a标签的超链接 |
2 | F5或者刷新按钮 |
3 | 前进后退按钮 |
但是火狐中有个特点‘往返缓存’,这个缓存中不仅保存着页面数据,还保存了DOM和Javascript的状态,实际上是将整个页面都保存在了内存里。 所以此时后退按钮不能刷新页面
这时需要使用pageshow事件触发,这个事件在页面显示时触发,无论页面是否来自缓存,再重新加载页面中,pageshow会在load事件触发后触发;根据事件对象中的persisted来判断是否是缓存中的页面触发的pageshow事件,注意这个事件给window添加