问题标签 [visibilitychange]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
32 浏览

reactjs - Visibility.js 不会触发状态更改

在我的反应项目中导入了visibility.js包,如果用户从后台打开 Web 视图并且超过 5 分钟,我将使用它来重新渲染页面,在我的一个钩子内我有简单的实现:

如果您在 10 分钟、1 小时左右的时间内打开,这是可行的,但注意到它在长时间将网络留在后台后不起作用,比如一夜之间......我正在 iPhone 12,V14.6 上进行测试。做了一些研究,但找不到关于这个特殊案例的任何想法,也许有人有同样的问题,可以分享你的经验,谢谢。

0 投票
0 回答
9 浏览

javascript - 切换全屏会触发 safari 上的“visibilitychange”事件

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

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

一些要重现的片段: