javascript - jquery如何控制浏览器选项卡变化

标签 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>

最佳答案

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

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

关于javascript - jquery如何控制浏览器选项卡变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19661321/

相关文章:

javascript - PHP AJAX JQuery xmlhttp 请求 Get 方法发送始终为 1

c++ - 创建 wxWidget 应用程序的首选方法是什么 : using a GUI tool or procedurally in code?

javascript - Eloquent Javascript 第 5 章练习 1

javascript - 选择没有 .Class 或 #Id 的 div

javascript - 检查是否已选中每个字段集的一个单选按钮

javascript - Kendo UI 数据源sync() 将不起作用

c# - DataGridColumnHeader 中的第一个下划线被删除

javascript - 如何防止使用 CSS 关键帧进行动画处理的 div 发生碰撞

javascript - 如何在刷新时保留js添加的额外字段

javascript - 单击时交换 <li> 的类