检查 iframe 中的 div 是不是在 Firefox 中可见
Posted
技术标签:
【中文标题】检查 iframe 中的 div 是不是在 Firefox 中可见【英文标题】:check if a div inside iframe is visible in Firefox检查 iframe 中的 div 是否在 Firefox 中可见 【发布时间】:2012-12-07 06:03:09 【问题描述】:我有一个名为 article_frame 的 iframe,其中包含多个 DIV,名为 article_disp_0、article_disp_1 等。 一次只能看到其中一个。
当我在 iframe 之外时,我希望能够看到哪个是可见的,所以我有一个这样的脚本:
// find the currently selected article
for (i=0; i<=a_count; i++)
a_disp = "#article_disp_" + i;
frame_disp = $('#article_frame').contents().find(a_disp);
visible = frame_disp.is(':visible');
if (visible)
art_div = i;
break;
在 Chrome 或 Safari 中一切正常,但在 Firefox 中却不行。在 Firefox 中似乎没有设置可见值。那么我需要做些什么才能使这项工作与 Firefox 一起使用?
【问题讨论】:
【参考方案1】:var iframe = document.getElementById('iframeId');
var innerDoc = iframe.contentDocument || iframe.contentWindow.document;
然后
visible = $(innerDoc.getElementById("your ID")).is(':visible');
【讨论】:
好的,我试过了,它在 Safari 中运行良好,但在 Firefox 中仍然不行。这是我现在得到的: var iframe = document.getElementById('article_frame');`var innerDoc = iframe.contentDocument || iframe.contentWindow.document;
// find the currently selected article
for (i=0; i
1.您是否获得了 DIV 对象引用来测试可见性? 2. 可以测试一下它的 style.display 或 style.visibility 属性吗?
是的,我确实这样做了,而且它有效。 ` disp = $(innerDoc.getElementById(a_disp)).css('display'); if (disp == "block") // 找到可见的`谢谢你的指导。
@abbaroo 不客气,如果此解决方案对您有帮助,请花时间“接受”我的回答。以上是关于检查 iframe 中的 div 是不是在 Firefox 中可见的主要内容,如果未能解决你的问题,请参考以下文章