如何控制浏览器选项卡更改jquery

时间:2013-10-29 14:40:51

标签: javascript jquery user-interface tabs window

我有一些JavaScript来控制浏览器窗口的更改,如果用户更改选项卡或窗口,则会重置JavaScript倒计时。

但是在我的内容中有一个iframe,然后需要访问,并且在访问期间无法重置倒计时。

如果用户点击iframe内容,则重置倒计时,但不会发生。 我该怎么控制呢?

在我的剧本之上:

<script type="text/javascript">
    var isActive;
    var g_timer = null;
    var numero = 90;

    window.onfocus = function () { 
    isActive = true; 
    }; 

    window.onblur = function () { 
    isActive = false; 
    }; 

    setInterval(function () { 
    window.isActive ? decCount() : resetCount(); 
    }, 1000);

    function decCount(){
      if(numero > 0){
          document.getElementById('timers').innerHTML = --numero;
      }
    }

    function resetCount(){
      numero = 91;
      clearTimeout(g_timer);
      startTimer();
    }

    function startTimer() {
      g_timer = window.setTimeout(function() {
          window.location.href = '/office/tasks/secure/';
      }, 92000);
    }

    function timersfocus(){
      $('#timers').focus();
    }
    </script>

1 个答案:

答案 0 :(得分:1)

您可以使用来自jquery的blur()事件

$(window).blur(function() {
    //your code here when window/tab changes
});