简体   繁体   English

检查选项卡是否打开为活动状态

[英]check if tab open as active

I need determine, if current page is active. 我需要确定当前页面是否处于活动状态。 I know i can find if tab get/lost focus with this answer: 我知道我可以通过以下答案找到选项卡是否获得焦点:

https://stackoverflow.com/a/1760268/449553 https://stackoverflow.com/a/1760268/449553

It is ok, if tab state change, BUT i need to get initial value. 可以,如果选项卡状态更改,但我需要获取初始值。 There is a few ways to open page: 有几种打开页面的方法:

  • going by link in this active tab 通过此活动选项卡中的链接进行导航
  • open in new tab 在新标签页中打开
  • open in new background tab 在新的背景标签中打开

I understand, that page need some time to load. 我了解,该页面需要一些时间才能加载。 So I need to get this value after DOM loaded. 因此,我需要在DOM加载后获取此值。 Is there any way to find this value? 有什么办法可以找到这个价值?

Try pagevisibility : 尝试pagevisibility

var visibilityChange,hidden, state; 
if (typeof document.hidden !== "undefined") {
    hidden = "hidden";
    visibilityChange = "visibilitychange";
    state = "visibilityState";
} else if (typeof document.mozHidden !== "undefined") {
    hidden = "mozHidden";
    visibilityChange = "mozvisibilitychange";
    state = "mozVisibilityState";
} else if (typeof document.msHidden !== "undefined") {
    hidden = "msHidden";
    visibilityChange = "msvisibilitychange";
    state = "msVisibilityState";
} else if (typeof document.webkitHidden !== "undefined") {
    hidden = "webkitHidden";
    visibilityChange = "webkitvisibilitychange";
    state = "webkitVisibilityState";
}

document.addEventListener(visibilityChange, function() {
    document.title = document[state];
}, false);


document.title = document[state];
if(document[state]==="hidden"){
    //hidden
}else{
    //show
}

See the compatibility 查看兼容性

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM