仅在活动浏览器选项卡中显示引导模式弹出



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

我已经尝试了下面的jQuery onfocus,但这不起作用。我相信我需要将事件监听器附加到活动浏览器选项卡,但不确定如何进行。有人可以帮助我如何找出活动的浏览器选项卡,并触发引导弹出仅在活动选项卡。

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

在你的事件处理程序中,你可以使用页面可见性API:

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

最新更新