Javascript 如何检测iframe中的HTML元素是否在Chrome中呈现

Javascript 如何检测iframe中的HTML元素是否在Chrome中呈现,javascript,angularjs,Javascript,Angularjs,背景: 我有一个在服务器B上运行多个选项卡的网站。其中一个选项卡包含一个iframe,该iframe正在加载一个在单独服务器(服务器a)上运行的基于Angularjs的网站。该站点每10秒刷新一次分区,以检查在其他地方所做的更改。当不在该选项卡上时,我想阻止这些呼叫。我需要找到一种方法来检测页面是否被呈现,如果页面不是来自服务器a,则阻止调用 当前解决方案: 在Firefox中,我使用getBoundingClientRect()实现了这一点。当加载另一个选项卡时,该值会更改,以便可以检查它并阻

背景: 我有一个在服务器B上运行多个选项卡的网站。其中一个选项卡包含一个iframe,该iframe正在加载一个在单独服务器(服务器a)上运行的基于Angularjs的网站。该站点每10秒刷新一次分区,以检查在其他地方所做的更改。当不在该选项卡上时,我想阻止这些呼叫。我需要找到一种方法来检测页面是否被呈现,如果页面不是来自服务器a,则阻止调用

当前解决方案: 在Firefox中,我使用getBoundingClientRect()实现了这一点。当加载另一个选项卡时,该值会更改,以便可以检查它并阻止调用。 但这在Chrome中不起作用。交换选项卡时,该值不会更改


有人对此有什么建议或经验吗?需要一个能在所有浏览器中运行的解决方案。

谢谢您的建议

使用以下方法修复此问题: parent.document.getElementsByTagName('iframe')[0].getBoundingClientRect().top


在所有浏览器中,当iframe不再位于活动页面上时,此值会发生变化。

您可以在Chrome、Chrome和Firefox上使用
window.location.ancestorOrigins
document.domain
的可能重复,请参阅