首页 > 解决方案 > Angular 7 检测浏览器选项卡已激活

问题描述

在我们的应用程序中,我们必须从后端服务获取用户上下文。如果用户上下文发生变化,应用程序需要重新加载。因为用户可以在不同的选项卡中更改他们的上下文。我们每 5 秒 ping 一次后端服务以检查用户上下文是否已更改。

有没有办法检测用户是否已停用或激活当前选项卡?它将节省每 5 秒 ping 一次后端。

用户可以在同一应用程序或另一个应用程序的不同选项卡中更改上下文。

标签: angularbrowsertabs

解决方案


使用 hasFocus() 方法 from: here,它存储选项卡焦点的上下文。

Document 接口的 hasFocus() 方法返回一个布尔值,指示文档或文档中的任何元素是否具有焦点。此方法可用于确定文档中的活动元素是否具有焦点。

如果您想要带有事件侦听器的异步版本,请使用Page Visibility API


推荐阅读