检测浏览器是否支持 FREEZE 和 RESUME 生命周期事件

问题描述 投票:0回答:1

如何检测浏览器是否支持

freeze
resume
生命周期事件

我查看了老忠实的JS库Modernizr,它似乎不支持他们的检测。

它们看起来非常有用,但根据 CanIUse,Safari 和 Firefox 目前不支持这些事件。

还有其他方法吗?

document.addEventListener('onfreeze', (event) => {
    console.log('Frozen');
});

document.addEventListener('onresume', (event) => {
    console.log('Resumed');
});
javascript browser
1个回答
0
投票

在源对象上查找

onxyz
成员是检测事件支持的一种历史悠久的方法。看起来它适用于这里:规范定义了
onfreeze
onresume
Document
成员:

页面生命周期涉及以下添加:

partial interface Document {
    attribute EventHandler onfreeze;
    attribute EventHandler onresume;
    readonly attribute boolean wasDiscarded;
};

因此

if ("onfreeze" in document)
应该告诉您环境是否支持
freeze
事件(对于
resume
也是如此,尽管它们可能都受支持,或者都不支持)。

© www.soinside.com 2019 - 2024. All rights reserved.