在我的反应项目中导入了 visibility.js 包,如果用户从后台打开 web 视图并且超过 5 分钟,我将使用它来重新呈现页面,在我的一个钩子中,我有简单的实现:
useEffect(() => {
let initialTime = 0
const limit = 5 * 60 // 5 min.
const listener = Visibility.change(function (e, state) {
if (Visibility.hidden()) {
initialTime = (new Date().getTime()) / 1000
} else {
const currentTime = (new Date().getTime()) / 1000
updatePage()
}
}
})
return () => {
Visibility.unbind(listener)
}
}, [])
如果您在 10 分钟或 1 小时左右打开,这会起作用,但注意到它在后台长时间离开网络后不起作用,就像一夜之间...我正在 iPhone 12,V14 上进行测试.6. 做了一些研究,但找不到关于这个特定案例的任何想法,也许有人有同样的问题,可以分享您的经验,谢谢。