1

我有一些 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>
4

1 回答 1

1

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

$(window).blur(function() {
    //your code here when window/tab changes
});
于 2013-10-29T16:00:57.360 回答