visibilitychange

在Safari浏览器下,无论是桌面端Safari、还是IOS Safari,visibilitychange事件不总是触发的。

对于窗口最小化、tab隐藏等行为,visibilitychange事件是正常的,但是如果是点击页面的某个链接发生的当前页导航跳转,则visibilitychange事件不会触发。

pageshow/pagehide

虽然都是有显示和隐藏的含义,但是visibilitychange指的是页面是否可见,pageshow/pagehide指的是页面的进入与离开。

  • 页面进入,包括刷新会触发pageshow;
  • 选项卡(浏览器页签)切换,只会触发visibilitychange显示与隐藏;
  • 前进和后退,虽有浏览器都会依次触发pagehide、visibilitychange、pageshow;
  • 如果点击某个链接跳转处页面,Safari会出现不一样的表现;

 

posted @ 2023-01-30 15:50  671_MrSix  阅读(131)  评论(0编辑  收藏  举报