3

我的目标是在聚焦“页面选项卡”时使用 jquery 自动刷新一些组件。我有一个“购物车”,即使您从多个选项卡显示我的网站,我也想自动更新它。另外,我正试图让它在页面内的 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;
                });
4

3 回答 3

4

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

$(window).focus(function(){
   //refresh your div;
});
于 2013-01-09T08:45:05.700 回答
4

使用它似乎效果很好:

$(document).ready(function () {
    $(window).focus(function () {
        console.log("bam!");
    })
});
于 2013-01-09T08:49:52.070 回答
1

正是你上面写的可以通过这个来实现

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

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

于 2014-07-25T10:30:00.693 回答