2 回答
TA貢獻1798條經驗 獲得超3個贊
您可以使用visibilitychange事件偵聽器來檢測以前處于后臺的 Web 應用程序現在何時處于前臺:
document.addEventListener('visibilitychange', function() {
if (document.visibilityState === 'visible') {
// Your code here...
}
});
這篇博文中有更多關于頁面生命周期 API 的信息,但您應該注意,并非 API 中的所有可用狀態都在 Safari 中公開。該帖子列出了在編寫可跨多個瀏覽器運行的代碼時需要注意的一些注意事項。
TA貢獻1806條經驗 獲得超8個贊
您可以使用GoogleChromeLabs/page-lifecycle庫作為訂閱頁面生命周期事件的跨瀏覽器方法。
import lifecycle from 'page-lifecycle'
lifecycle.addEventListener('statechange', ({ oldState, newState }) => {
console.log(`${oldState} -> ${newState}`)
})
在我的測試中,iOS PWA 在觸發事件方面受到限制:
切換:主動→被動,被動→隱藏
切換到:隱藏→被動,被動→主動
激活應用切換器并返回:無變化
我沒有找到任何方法來檢測應用程序被強制關閉并重新打開。
添加回答
舉報
