我想检查我的网站是否在前台使用 JavaScript。但是在阅读所有内容之前不要回答,因为你会直接对我说我应该这样做:
$(window)
.focus(function() {
console.log("focus");
})
.blur(function() {
console.log("blur");
});
但问题是我的页面上有来自第三方的 iframe,如果用户点击 iframe,窗口模糊事件会被触发,但用户仍然在我的页面上。我试图通过检查是否document.activeElement
是一个 iframe on blur来解决这个问题:
$(window)
.focus(function() {
console.log("focus");
})
.blur(function() {
console.log("blur");
if (document.activeElement.tagName.toLowerCase() == "iframe") {
console.log("still focus");
}
});
这里的问题是当用户先点击 iframe 然后点击另一个应用程序时,我无法检查页面是否不再处于前台。
那么,当站点中有 iframe 时,如何检查站点是否在前台?