仅在活动的浏览器选项卡

时间:2016-08-26 21:56:14

标签: javascript jquery twitter-bootstrap javascript-events modalpopup

我有一个场景,其中bootstrap模态弹出打开逻辑被添加到我们的应用程序的母版页。当api调用从api服务器发送状态消息时,将触发模态弹出窗口。当用户在单个浏览器选项卡中只打开一个应用程序实例时,它可以正常工作。但是当用户打开应用程序中不同页面的多个浏览器选项卡时,会出现问题。当API调用发送状态消息时,将在所有选项卡中触发Bootstrap模式弹出窗口,这是一个问题,因为用户不希望在所有选项卡中看到这些弹出窗口。

我尝试过以下jquery onfocus。但这不起作用。我相信我需要将eventlistener附加到活动的浏览器选项卡,但不知道如何继续。有人可以帮助我找到活动的浏览器选项卡,并仅在活动选项卡中触发引导程序弹出窗口。

$(window).focus(function(){
  console.log('Trigger popup');
});

1 个答案:

答案 0 :(得分:0)

在您的事件处理程序中,您可以使用Page Visibility API

        if (!document.hidden) {
            // do your stuff
        }