load 触发
- a标签的超链接
- f5或者刷新按钮
- 前进后退按钮
但是在 火狐中,有个特点,有个往返缓存,这个缓存不仅保存者页面数据,还保存了DOM和javaScript的状态;实际将整个页面保存到内存里面
所以此时后退按钮不能刷新页面
pageshow触发
在页面显示时候触发,无论页面是否来着缓存。
在重新加载页面中,pageshow 会在load事件触发后触发;
根据事件对象中的 persisted 来判断是非由缓存中的页面触发的pageshow事件;
事件在window对象上面
window.addEventListener('pageshow',function(e){
if(e.persisted){ //是否由缓存中的页面触发
}
})