1

我需要确定当前页面是否处于活动状态。我知道我可以通过这个答案找到标签是否获得/失去焦点:

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

没关系,如果选项卡状态发生变化,但我需要获取初始值。有几种打开页面的方法:

  • 通过此活动选项卡中的链接进行
  • 在新标签页中打开
  • 在新的背景选项卡中打开

我了解,该页面需要一些时间才能加载。所以我需要在 DOM 加载后获取这个值。有没有办法找到这个值?

4

1 回答 1

0

尝试页面可见性

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
}

查看兼容性

于 2013-10-29T22:10:48.670 回答