今天看到个网站,在视野中的时候标题和不在浏览这个选项卡的标题不一样。想问下是怎么做到的
之前听过判断是否在浏览网页、想问下是如何实现的
浏览网页时
移到另外选项卡时
可以使用 Page Visibility API :
- 优点:能够真的的判断tab页是否可见
- 缺点:兼容性不好(IE 10+)
document.addEventListener("visibilitychange", function () {
if (document.hidden) {
// 不可见
} else {
// 可见
}
}, false);
还有一种利用焦点来判断的可选方案:
- 优点:兼容性好
- 缺点:失去焦点时不一定是切换到了其他的tab页,有可能是浏览器失去了焦点。
var isActive;
window.onfocus = function () {
isActive = true;
};
window.onblur = function () {
isActive = false;
};
// test
setInterval(function () {
console.log(window.isActive ? 'active' : 'inactive');
}, 1000);
if (typeof document.addEventListener !== "undefined" || typeof document[hidden] !== "undefined") {
document.addEventListener(visibilityChange, handleVisibilityChange, false);
}