切换选项卡时,窗口焦点不在chrome中工作

时间:2013-07-19 23:51:48

标签: javascript jquery google-chrome focus

(function($){

    $(window).focus(function(){
        document.title = 'focused';
    });

    $(window).blur(function(){
        document.title = 'not focused';
    });

})(jQuery);

它应该做什么:如果一个标签集中,标题应该是'专注';如果不是,那么标题应该是“没有集中”。

它在现实中做了什么:在没有重点关注标签后,它的标题将永远保持“不集中”。

这在Firefox中运行良好,但在Chrome中没有,有人得到了建议吗?谢谢!

2 个答案:

答案 0 :(得分:0)

查看this答案,您可以轻松修改该代码,以完成您在此处概述的任务。

答案 1 :(得分:0)

这实际上是reported bug of Chrome,当您在标签之间进行更改时,它会在版本29中发生。尽管document.title被正确填充,但似乎是竞争条件不会更新标签的标题。

上述代码的可能解决方法是创建一个计时器以再次更改标题。 以下代码有效,但您也可以在计时器功能中设置文本。

(function($){

$(window).focus(function(){
    document.title = 'focused';
});

$(window).blur(function(){
    document.title = 'not focused';

    window.setTimeout(function () {
        var temp = document.title;
        document.title = temp + "_";
        document.title = temp;
    }, 200);
});

})(jQuery);