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

时间:2017-07-18 15:30:16

标签: javascript angularjs

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

目前的解决方案: 在Firefox中,我使用getBoundingClientRect()。top在元素上工作。加载另一个选项卡时,该值会更改,因此可以检查并阻止调用。 但这在Chrome中不起作用。交换选项卡时,该值不会更改。

有没有人对此有任何建议或经验?需要一个适用于所有浏览器的解决方案。

1 个答案:

答案 0 :(得分:0)

感谢您的建议。

修正了此问题: parent.document.getElementsByTagName(' iframe中&#39)。[0] .getBoundingClientRect()顶

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