【问题标题】: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 一起使用?

【问题讨论】:

    标签: jquery firefox iframe visible


    【解决方案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 不客气,如果此解决方案对您有帮助,请花时间“接受”我的回答。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-21
    • 1970-01-01
    • 1970-01-01
    • 2015-03-29
    • 2015-03-08
    • 1970-01-01
    相关资源
    最近更新 更多