检测何时显示iframe

时间:2014-02-15 12:53:39

标签: javascript jquery html iframe

目前,我的网站正在其他网站中嵌入。但问题是我想知道何时显示我的iframe,这样可以做一些脚本。

类似的东西:

<div id="wrapper">
  <iframe id="page1">
       <!-- MY PAGE 1 CODE GOES HERE-->
  </iframe>
  <iframe id="page2">
       <!-- MY PAGE 2 CODE GOES HERE-->
  </iframe>
  <iframe id="page3">
       <!-- MY PAGE 3 CODE GOES HERE-->
  </iframe>
</div>

这里的问题是,包装器同时加载我所有的嵌入代码,然后隐藏所有并只显示一个。然后,当用户进行交互时,它将显示另一个页面。

我的问题是:我需要知道包装器何时显示我的第1页/第2页/第3页代码,以便可以进一步处理。

希望收到一些提示。

@edited 2014-02-15: 我的代码正由包装器的所有者使用。您可以将其视为插件内容。

包装器使用display:none来隐藏或显示包装我内容的iframe。

1 个答案:

答案 0 :(得分:0)

答案取决于iframe如何变得不可见。如果使用display: none,则检测iframe 中iframe 的可见性的简单方法是:

var isVisible = !!window.frameElement.offsetWidth; // --> true or false

offsetWidth等于0,当display在iframe或其中一个父元素中设置为none时。