如何判断Browser/tab是否处于活动状态我有一个函数,它每秒钟调用一次,只有在当前页面位于前台时才能运行,也就是说,用户没有最小化浏览器或切换到另一个选项卡。如果用户不看它,并且可能是CPU密集型的,那么它就没有用,所以我不想在后台浪费周期。有人知道如何用JavaScript告诉这个吗?注意:我使用jQuery,所以如果您的答案使用jQuery,那很好:)。
3 回答
繁花不似锦
TA贡献1851条经验 获得超4个赞
focusblur
var interval_id;$(window).focus(function() {
if (!interval_id)
interval_id = setInterval(hard_work, 1000);});$(window).blur(function() {
clearInterval(interval_id);
interval_id = 0;});$(window).on("blur focus", function(e) {
var prevType = $(this).data("prevType");
if (prevType != e.type) { // reduce double fire issues
switch (e.type) {
case "blur":
// do work
break;
case "focus":
// do work
break;
}
}
$(this).data("prevType", e.type);})
四季花海
TA贡献1811条经验 获得超5个赞
window.onfocuswindow.onblur
var isTabActive;window.onfocus = function () {
isTabActive = true; }; window.onblur = function () {
isTabActive = false; }; // testsetInterval(function () {
console.log(window.isTabActive ? 'active' : 'inactive'); }, 1000);添加回答
举报
0/150
提交
取消
