Javascript 将Firefox选项卡拖动到新窗口时,是否有办法保留setTimeout()和setInterval()计时器?

Javascript 将Firefox选项卡拖动到新窗口时,是否有办法保留setTimeout()和setInterval()计时器?,javascript,firefox,timer,settimeout,setinterval,Javascript,Firefox,Timer,Settimeout,Setinterval,如果我在Firefox25.0.1 Linux版中使用setTimeout()或setInterval()创建计时器,然后将该选项卡拖到新窗口,计时器将停止启动。在同一系统上,Chrome不会出现这种情况 有没有办法防止这些计时器被取消?如果我所有的定时器都被取消,有没有办法检测到这一点并重新启动不依赖于看门狗定时器的定时器,而看门狗定时器本身会被取消 我的代码如下(也可在上获得)。在新的Firefox选项卡中运行代码,然后将该选项卡拖到空白处以创建新窗口。计时器将停止 (function()

如果我在Firefox25.0.1 Linux版中使用setTimeout()或setInterval()创建计时器,然后将该选项卡拖到新窗口,计时器将停止启动。在同一系统上,Chrome不会出现这种情况

有没有办法防止这些计时器被取消?如果我所有的定时器都被取消,有没有办法检测到这一点并重新启动不依赖于看门狗定时器的定时器,而看门狗定时器本身会被取消

我的代码如下(也可在上获得)。在新的Firefox选项卡中运行代码,然后将该选项卡拖到空白处以创建新窗口。计时器将停止

(function() {
    var x = 0;
    var y = 0;

    function notice(msg) {
        console.log("Notice: " + msg);
        document.body.appendChild(
            document.createTextNode(msg)
        );
        document.body.appendChild(
            document.createElement('br')
        );
    }

    function foo() {
        notice('Timer ' + x);
        x++;
        setTimeout(foo, 1000);
    }

    foo();

    setInterval(function() {
        notice("Interval " + y);
        y++;
    }, 1500);
})();