在Firefox浏览器中,标签的标题不会闪烁

时间:2014-07-01 10:30:11

标签: javascript jquery html

当浏览器选项卡处于非活动状态或用户位于其他选项卡中时,我将每秒在标题中显示“新消息...”。我用过这个:

  <script>
    var mytimer;

    function log() {

        document.title = document.title == "" ? "New message..." : "";

    }

    $(window).focusout(function () {
        mytimer=setInterval(function () {
            log();
        }, 1000);
    }).focusin(function () {
                clearInterval(mytimer);
            });


</script>

当用户离开当前标签时,它开始工作,但当它返回标签时,它不会停止。知道这有什么问题吗?

解决方案:

我刚刚将focusout方法更改为blur,将focusin方式更改为focus并开始在Firefox中使用。在IE和Chrome中正常运行。

2 个答案:

答案 0 :(得分:3)

您没有将setInterval设置为myTimer

mytimer = setInterval(function () {
   log()
}, 1000);

添加了 fiddle ; 通过单击输出窗口来聚焦输出窗口,然后通过单击另一帧来解除对焦。

答案 1 :(得分:1)

编辑:测试并使用chrome,firefox,ie和opera。在原始标题和New Message之间来回闪烁,如同irc。

$(function(){
    var title = $('title').html();
    var thread = null;
    $(window).focusout(function () {
        var i = 0;
        thread = setInterval(function(){
            if(i % 2 == 0 || i == 0){ 
                $('title').html("New Message..");
            }else{
                $('title').html(title); 
            }
            i++;
        },500); 
    }).focusin( function(){ 
        clearInterval(thread);
        $('title').html(title);
    });
});