有什么办法知道浏览器中的选项卡何时被窗口覆盖?

马可斯

TL; DR:我正在使用Chrome扩展程序,仅在标签可见且未被其他窗口覆盖时才需要增加计数。有什么办法可以检测到这一点?


我尝试使用Page Visibility API,但这是它的问题:

想象一下,我有两个并排停靠的窗户。我的重点是窗口“ A”中的“ X”标签。但是,在侧面,我还在窗口“ B”的前景中打开了选项卡“ Y”。

如果我document.hidden当时检查选项卡“ Y”,它将解析为false,这就是我想要的。但是,如果我随后扩展窗口“ A”以覆盖整个屏幕,并保持窗口“ B”在其后打开而不是未最小化,则document.hidden对于选项卡“ Y”仍然相等,false即使从用户角度来看,该选项卡是完全无形。

将事件侦听器添加到blurfocus事件中都无济于事,因为blur每当添加到文档中的文档失去焦点时就会触发,这对于我的窗口“ A”覆盖整个屏幕但不适合我的窗口“ A”和“ B”并排放置的情况。在这种情况下,当标签“Y”失去焦点,即使标签“Y”是任何人谁是看着屏幕技术上可见的“模糊”事件将被解雇。


我需要的结果如下所示:

  1. 选项卡“ Y”位于非最小化窗口的前景中,并且未被另一个窗口覆盖: increaseCount() // regardless of whether the tab is focused or not
  2. 标签“ Y”位于非最小化窗口的前台,但被另一个窗口覆盖,因此其内容对于任何人类观察者都不可见: // don't increase count

有什么办法可以检测到这一点?

布拉德

不,没有可靠的方法可以检测到这一点。

实际上,据我了解,Chrome甚至可能不知道内容是否涵盖在内。考虑一下Windows之类的情况,从Windows Vista和Aero开始,应用程序窗口始终由窗口管理器绘制和拦截。基础应用程序始终在虚拟空间中绘图。其他复杂情况包括可能覆盖浏览器窗口但可能不会完全阻止它的窗口。在不知道内容的情况下,浏览器并不真正知道内容是否被覆盖。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何实现何时复制浏览器选项卡

来自分类Dev

我怎么知道显示div:浏览器的两个或多个选项卡中没有显示?

来自分类Dev

具有固定选项卡的浏览器窗口作为单独的应用程序?

来自分类Dev

当ReactJS中的浏览器选项卡关闭时,如何触发弹出窗口?

来自分类Dev

为什么此崩溃浏览器选项卡?

来自分类Dev

为什么在Firefox的新-空选项卡中有大量对chrome浏览器的引用?

来自分类Dev

新的“浏览器”选项卡或Windows中的HTML

来自分类Dev

Firebug的Chrome浏览器中的“脚本”选项卡

来自分类Dev

检测 Bokeh 中的浏览器选项卡关闭

来自分类Dev

Ext4.2.1如何从另一个浏览器选项卡中打开带有小部件的新浏览器选项卡

来自分类Dev

新浏览器窗口中的ipython笔记本(而不是现有窗口中的新选项卡)

来自分类Dev

如何在所有浏览器会话(选项卡)中重置Redux状态

来自分类Dev

在现有浏览器选项卡中打开来自 Bash 的链接

来自分类Dev

为什么在谷歌浏览器开发者工具的作用域选项卡中其值为未定义?我期待这样的:窗口

来自分类Dev

是否可以将URL从Google Chrome(或其他浏览器)窗口中所有打开的选项卡复制到电子邮件中?

来自分类Dev

VBA [EXCEL 2013]:自动化:在同一浏览器窗口/选项卡中打开链接

来自分类Dev

如何知道浏览器选项卡是否已使用Javascript打开?

来自分类Dev

如何关闭知道进程ID的浏览器选项卡?

来自分类Dev

在浏览器选项卡或ipython窗口中打开scrapy输出

来自分类Dev

如何使用JavaScript关闭浏览器选项卡(父窗口)

来自分类Dev

HTML / Javascript-导航至已打开的浏览器选项卡/窗口

来自分类Dev

当浏览器选项卡或窗口关闭时,是否会触发一般事件?

来自分类Dev

铬浏览器:打开太多窗口/选项卡时显示“ Aw,snap”

来自分类Dev

用户单击关闭选项卡时如何打开新窗口浏览器?

来自分类Dev

HTML / Javascript-导航至已打开的浏览器选项卡/窗口

来自分类Dev

根据浏览器响应选项卡下的消息隐藏弹出窗口

来自分类Dev

是否可以在同一浏览器窗口中实现本机多选项卡 PWA?

来自分类Dev

使用javascript在IE浏览器的新选项卡中打开URL的最佳方法是什么?

来自分类Dev

AngularJ将当前浏览器选项卡中的更改反映到其他选项卡

Related 相关文章

  1. 1

    如何实现何时复制浏览器选项卡

  2. 2

    我怎么知道显示div:浏览器的两个或多个选项卡中没有显示?

  3. 3

    具有固定选项卡的浏览器窗口作为单独的应用程序?

  4. 4

    当ReactJS中的浏览器选项卡关闭时,如何触发弹出窗口?

  5. 5

    为什么此崩溃浏览器选项卡?

  6. 6

    为什么在Firefox的新-空选项卡中有大量对chrome浏览器的引用?

  7. 7

    新的“浏览器”选项卡或Windows中的HTML

  8. 8

    Firebug的Chrome浏览器中的“脚本”选项卡

  9. 9

    检测 Bokeh 中的浏览器选项卡关闭

  10. 10

    Ext4.2.1如何从另一个浏览器选项卡中打开带有小部件的新浏览器选项卡

  11. 11

    新浏览器窗口中的ipython笔记本(而不是现有窗口中的新选项卡)

  12. 12

    如何在所有浏览器会话(选项卡)中重置Redux状态

  13. 13

    在现有浏览器选项卡中打开来自 Bash 的链接

  14. 14

    为什么在谷歌浏览器开发者工具的作用域选项卡中其值为未定义?我期待这样的:窗口

  15. 15

    是否可以将URL从Google Chrome(或其他浏览器)窗口中所有打开的选项卡复制到电子邮件中?

  16. 16

    VBA [EXCEL 2013]:自动化:在同一浏览器窗口/选项卡中打开链接

  17. 17

    如何知道浏览器选项卡是否已使用Javascript打开?

  18. 18

    如何关闭知道进程ID的浏览器选项卡?

  19. 19

    在浏览器选项卡或ipython窗口中打开scrapy输出

  20. 20

    如何使用JavaScript关闭浏览器选项卡(父窗口)

  21. 21

    HTML / Javascript-导航至已打开的浏览器选项卡/窗口

  22. 22

    当浏览器选项卡或窗口关闭时,是否会触发一般事件?

  23. 23

    铬浏览器:打开太多窗口/选项卡时显示“ Aw,snap”

  24. 24

    用户单击关闭选项卡时如何打开新窗口浏览器?

  25. 25

    HTML / Javascript-导航至已打开的浏览器选项卡/窗口

  26. 26

    根据浏览器响应选项卡下的消息隐藏弹出窗口

  27. 27

    是否可以在同一浏览器窗口中实现本机多选项卡 PWA?

  28. 28

    使用javascript在IE浏览器的新选项卡中打开URL的最佳方法是什么?

  29. 29

    AngularJ将当前浏览器选项卡中的更改反映到其他选项卡

热门标签

归档