visibilitychange
在Safari浏览器下,无论是桌面端Safari、还是IOS Safari,visibilitychange事件不总是触发的。
对于窗口最小化、tab隐藏等行为,visibilitychange事件是正常的,但是如果是点击页面的某个链接发生的当前页导航跳转,则visibilitychange事件不会触发。
pageshow/pagehide
虽然都是有显示和隐藏的含义,但是visibilitychange指的是页面是否可见,pageshow/pagehide指的是页面的进入与离开。
- 页面进入,包括刷新会触发pageshow;
- 选项卡(浏览器页签)切换,只会触发visibilitychange显示与隐藏;
- 前进和后退,虽有浏览器都会依次触发pagehide、visibilitychange、pageshow;
- 如果点击某个链接跳转处页面,Safari会出现不一样的表现;
以自己现在的努力程度,还没有资格和别人拼天赋