当用户从其他选项卡返回时重新加载页面

2024-02-12

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

有没有办法用 JavaScript / jQuery 做到这一点?我知道location.reload();用于刷新页面,但我不知道如何告诉 JavaScript 在选项卡再次激活时执行此操作(并且仅一次)。


你可以使用这个:

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];
}
})();

Usage:

var visible = vis(); // gives current state

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

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

您可以在这里阅读相关内容:

检测浏览器选项卡是否处于活动状态或用户是否已切换离开 https://stackoverflow.com/questions/19519535/detect-if-browser-tab-is-active-or-user-has-switched-away

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当用户从其他选项卡返回时重新加载页面 的相关文章

随机推荐