angular - Angular 7 检测浏览器选项卡已激活
问题描述
在我们的应用程序中,我们必须从后端服务获取用户上下文。如果用户上下文发生变化,应用程序需要重新加载。因为用户可以在不同的选项卡中更改他们的上下文。我们每 5 秒 ping 一次后端服务以检查用户上下文是否已更改。
有没有办法检测用户是否已停用或激活当前选项卡?它将节省每 5 秒 ping 一次后端。
用户可以在同一应用程序或另一个应用程序的不同选项卡中更改上下文。
解决方案
使用 hasFocus() 方法 from: here,它存储选项卡焦点的上下文。
Document 接口的 hasFocus() 方法返回一个布尔值,指示文档或文档中的任何元素是否具有焦点。此方法可用于确定文档中的活动元素是否具有焦点。
如果您想要带有事件侦听器的异步版本,请使用Page Visibility API。
推荐阅读
- r - Rstudio snippet editor glitching, making it extremely difficult to edit snippets
- java - NSSM service does not show GUI
- css - 使 ::after 元素的大小和位置与 flex 子元素相同
- javascript - 重定向到同一页面时如何更改字段的属性
- flutter - 如何在颤动中更改大纲按钮的边框突出显示颜色?
- wordpress - Woocommerce $product->is_on_sale() 总是返回 true
- python - 将 value_counts 转换为字典列表
- c# - 实体框架使用字典对象
- python-3.x - 确定性有限自动机设计
- ios - 一个 ViewController 中的多个 CollectionView