On Safari (15.3) on Macos (11.6.4), and possibly on ios too, enabling and disabling fullscreen triggers a "visibilitychange" event. It doesn't on Chrome and Firefox.
Is there a simple way to fix that (to not trigger the visibilitychange on safari)?
A solution would be disabling and enabling the visibilitychange listener when switching fullscreen, but it's quite hacky.
Some snippets to reproduce :
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();
}
}