我在某种注重最新的网站上工作。为此,当用户从另一个选项卡切换到带有网站的选项卡时,我需要刷新页面。

有没有办法用JavaScript/jQuery做到这一点?我知道location.reload();用来刷新页面,但我不知道如何告诉JavaScript来做到这一点时,标签再次成为 Activity (而且只有一次即可)。

最佳答案

您可以使用此:

var vis = (function(){
var stateKey, eventKey, keys = {
    hidden: "visibilitychange",
    webkitHidden: "webkitvisibilitychange",
    mozHidden: "mozvisibilitychange",
    msHidden: "msvisibilitychange"
};
for (stateKey in keys) {
    if (stateKey in document) {
        eventKey = keys[stateKey];
        break;
    }
}
return function(c) {
    if (c) document.addEventListener(eventKey, c);
    return !document[stateKey];
}
})();

用法:
var visible = vis(); // gives current state

vis(aFunction);      // registers a handler for visibility changes`

vis(function(){
    document.title = vis() ? 'Visible' : 'Not visible';
});

您可以在这里阅读以下内容:

Detect if browser tab is active or user has switched away

10-07 19:38