0

在 Macos (11.6.4) 上的 Safari (15.3) 上,也可能在 ios 上,启用和禁用全屏会触发“visibilitychange”事件。它不在 Chrome 和 Firefox 上。

有没有一种简单的方法来解决这个问题(不触发 safari 上的可见性变化)?
一个解决方案是在切换全屏时禁用和启用可见性更改侦听器,但它非常hacky。

一些要重现的片段:

document.addEventListener('visibilitychange', () => {console.log('visibilitychange')}, false);
document.addEventListener('webkitvisibilitychange', () => {console.log('webkitvisibilitychange')}, false);
 

var elem = document.getElementById("myvideo");
function openFullscreen() {
  if (elem.requestFullscreen) {
    elem.requestFullscreen();
  } else if (elem.webkitRequestFullscreen) { /* Safari */
    elem.webkitRequestFullscreen();
  } else if (elem.msRequestFullscreen) { /* IE11 */
    elem.msRequestFullscreen();
  }
}
4

0 回答 0