从iframe中获取所有帧/检查iframes内容是否包含帧

时间:2012-10-12 21:16:46

标签: javascript html iframe

我有一个页面可以动态地将页面加载到iframe中。 我在网上找到了脚本,根据内容的高度调整iframe的高度 但是如果内容页面(正常)框架本身就不起作用。

现在我想检查内容页面是否有框架,或者更好地访问它们以便我可以计算它们的长度,然后从子框架中选择最长的值到我的iframe的长度。

请不要使用JQuery。 只是简单的旧Javascript。 : - )

由于

2 个答案:

答案 0 :(得分:3)

您可以访问window对象的frames属性。它是一个包含当前文档中所有帧的数组。

// suppose a max of 1 frame each inner frame
function getInnerFrame(win) {
    win = win || window;
    if (win.frames.length > 0)
        return getInnerFrame(win.frames[0]);
    else
        return win;
}

编辑:纠正了一个非常愚蠢的错误

答案 1 :(得分:1)

你试过吗

window.document.frames.length

如果长度大于0,则可以使用

访问框架
window.document.frames[i]

您可以对任何窗口对象执行此操作,如下所示

window.document.frames[i].document.frames[j] 

这将给出第i-1帧内的第j-1帧,假设它们存在。

-Rohan