使用jQuery,可以使用
轻松找出特定元素是否可见$(element).is(':visible')
虽然有一些限制(不包括隐藏的css可见性或视口中的实际可见性,即它是否被其他元素覆盖或滚动),我发现它对我的场景很有用。 问题是,它只适用于一个iframe。
如果元素在其文档中具有display:none;
的任何父元素,则返回false。如果整个文档包含在具有display:none
的iframe中,则返回true。是否有可能以某种方式以另一种方式检测到这一点?
答案 0 :(得分:0)
嗯,好像你必须在iframe中调用top(父)文档,然后搜索特定的iframe并检查它是否可见。
你可能必须拥有相同的域/子域才能工作,但无论如何:
我们假设你知道iframe id / class(你必须)。
if ($(top).find('#iframeID').is(':visible')) {
// iframe is visible
} else {
// iframe is NOT visible
}
不能保证正确的工作。
答案 1 :(得分:0)
似乎窗口的frameElement属性适用于所有浏览器,并提供包含窗口的当前iframe(如果跨域限制不适用,这是我的情况)。
答案 2 :(得分:-1)
不可能是afaik。 iframe基本上是一个不同的网站,因此防范xss。只是不要使用iframe,而是使用服务器端包含。