Javascript 显示iframe时检测

Javascript 显示iframe时检测,javascript,jquery,html,iframe,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,这样就可以编写一些脚本

类似于此:

<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页代码,以便进行进一步的处理

希望收到一些提示

@2014年2月15日编辑: 包装器的所有者正在使用我的代码。您可以将其视为他们的插件内容


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

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


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

发布相关代码,显示/隐藏特定iframe(如果主页未与您的页面连接),很抱歉,您无法查看页面的可见性。@A.Wolff我编辑了我的问题以澄清问题。@Teemu他们在同一个域中,我编辑了问题。谢谢您的帮助。看起来它现在起作用了,我可以检测到iframe是否隐藏在负载上。然后下一个问题是如何知道帧何时再次设置为可见,您知道如何做吗?
isVisible
在我的回答中等于
true
,如果iframe具有宽度。。。你要用JS设置可见性,只需在同一代码中更改iframe中的一个变量?在我的例子中有点不同。所以我使用了一个计时器来循环并等待帧改变其可见性。它现在起作用了。非常感谢。
var isVisible = !!window.frameElement.offsetWidth; // --> true or false