Javascript 检查选项卡是否以活动状态打开
我需要确定当前页面是否处于活动状态。 我知道我可以通过以下答案找到tab是否获得/失去焦点: 若选项卡状态改变,这是可以的,但我需要得到初始值。 有几种方法可以打开页面:Javascript 检查选项卡是否以活动状态打开,javascript,jquery,Javascript,Jquery,我需要确定当前页面是否处于活动状态。 我知道我可以通过以下答案找到tab是否获得/失去焦点: 若选项卡状态改变,这是可以的,但我需要得到初始值。 有几种方法可以打开页面: 在此活动选项卡中按链接进行 在新选项卡中打开 在“新背景”选项卡中打开 我明白,那个页面需要一些时间来加载。所以我需要在加载DOM后获得这个值。 有没有办法找到这个值 试试看: 使用$(document).ready(function(){//your code});一旦DOM完全恢复,它将运行您的代码loaded@Ah
- 在此活动选项卡中按链接进行
- 在新选项卡中打开
- 在“新背景”选项卡中打开
使用$(document).ready(function(){//your code});一旦DOM完全恢复,它将运行您的代码loaded@Ahmad好的,我使用,但我应该调用什么代码?只有状态更改时才会发生事件。没有可读取的值。您可以使用settimeinterval并检查选项卡的css是否处于活动模式。有几种方法,您可以向所有链接的href添加一个哈希标记,然后检查哈希的URL,以确定选项卡位于何处active@GyanChandraSrivastava,哪个css选择器负责此操作?你能给我举个例子吗?我看到了这个代码。我已经写过-`将来我希望新的页面可见性API能够像文档中声明的那样工作:W3C上的页面可见性API。目前,即使是我最新的chrome也不支持它。所以是的。我一般情况下-这项工作。但是,并不像预期的那样-初始值无效。有没有一种简单明了的方法可以用jQuery实现这一点?
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
}