visibilitychange监听页面退到后台

document添加visibilitychange事件

需要有前缀,-webkit- 、 -o-、-ms-、-moz-…
可以用hidden 或者 visibilityState 是否是document属性来获取前缀

 const getHiddenProp = () => {
  const prefixes = ['webkit', 'moz', 'ms', 'o'];

  // if 'hidden' is natively supported just return it
  if ('hidden' in document) return 'hidden';

  // otherwise loop over all the known prefixes until we find one
  for (let i = 0; i < prefixes.length; i++) {
    if ((`${prefixes[i]}Hidden`) in document) {
      return `${prefixes[i]}Hidden`
    }
  }

  // otherwise it's not supported
  return null;
}

visibilityState:visible | hidden
hidden: true | false

兼容性:iOS Safari 7开始支持
Android浏览器4.4开始支持,但是实测,安卓系统4,5 Android Webview不能支持这个事件的监听,所以还是要根据native端具体去测

你可能感兴趣的:(visibilitychange监听页面退到后台)