Jquery / Javascript:可以知道页面何时集中

Jquery / Javascript: Is possible to know when page is focussed?

本文关键字:何时 集中 Javascript Jquery      更新时间:2023-09-26

我的目标是在关注"page选项卡"时使用jquery自动刷新一些组件。我有一个"购物车",我想自动更新它,即使你是从超过1个选项卡显示我的网站。此外,我试图使它从一个iframe内的页面工作!

这是可能的,或者我必须使用一些计时器定期自动刷新?

编辑:在阅读了解决方案之后,我让它为每个焦点工作一次,不知道这是否是最好的解决方案,但它完成了工作:D

var focusPage = false;
var firstFocus = false;
$(window).focus(function () {
                focusPage = true;
                if (firstFocus) {
                    firstFocus = false;
                    //BAM! Refresh your stuff
                }
            });
$(window).blur(function () {
                    focusPage = false;
                    firstFocus = true;
                });

这样做似乎效果不错:

$(document).ready(function () {
    $(window).focus(function () {
        console.log("bam!");
    })
});

您可以在窗口上捕获focus事件。尝试使用:

$(window).focus(function(){
   //refresh your div;
});

你上面写的东西可以通过这个

window.onblur= function() { window.onfocus= function () { location.reload(true); } };

它只做一次。您可以通过此调用减少代码。