2011-10-18 72 views
9

我怀疑这实际上是可能的,但我准备纠正。检测<iframe>从内部框架内部的高度和宽度

我需要的是能够从iframe中检测iframe的宽度和高度,所以如果iframe srciframeContent.html我需要能够在此页面上显示值。

我无法控制托管iframe的页面仅包含iframe的内容。

这可能吗?

回答

10

您可以随时获得网页尺寸,无论页面是否在iframe内加载,或者它总是以相同的方式工作。这是我发现用于获得window尺寸的功能,您也可以使用它来获得尺寸。

function alertSize() { 
    var myWidth = 0, myHeight = 0; 
    if(typeof(window.innerWidth) == 'number') { 
    //Non-IE 
    myWidth = window.innerWidth; 
    myHeight = window.innerHeight; 
    } else if(document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) { 
    //IE 6+ in 'standards compliant mode' 
    myWidth = document.documentElement.clientWidth; 
    myHeight = document.documentElement.clientHeight; 
    } else if(document.body && (document.body.clientWidth || document.body.clientHeight)) { 
    //IE 4 compatible 
    myWidth = document.body.clientWidth; 
    myHeight = document.body.clientHeight; 
    } 
    window.alert('Width = ' + myWidth); 
    window.alert('Height = ' + myHeight); 
} 
+4

你真的应该提供一个链接到您复制和粘贴,从你的回答。这样信用在适当的地方给出。另外,我认为我们可以在今天和这个年龄段编写代码时放心地忘掉IE 4。 –

+0

window.innerWidth/Height报告IFRAME的大小,而不是浏览器(例如,如果浏览器窗口的大小小于包含IFRAME的大小,浏览器将始终报告IFRAME的大小) – GlennG

+0

在IE9中不起作用我 - 返回0 – ILya

相关问题