是否有可能iframe在没有主窗口帮助的情况下自行调整大小?

时间:2012-08-04 07:59:06

标签: javascript iframe resize no-framework

主窗口和iframe都位于同一个域中,但我想要实现的是调整iframe大小,以便仅在iframe中使用js来适应其内容。

我也不知道主窗口分配给它的iframe的id。而且我不想使用jquery或任何其他框架。

3 个答案:

答案 0 :(得分:12)

您也可以在不知道父窗口中id的{​​{1}}的情况下执行此操作:

iframe

MDN点击window.frameElement.style.width = iframeContentWidth + 'px'; window.frameElement.style.height = iframeContentHeight + 'px';

修改

如果frameElement恰好位于具有固定大小且iframe的容器元素中,您可以执行以下操作:

overflow: hidden

答案 1 :(得分:0)

对于像您这样的同源内容,yes you can

借用加里对上述问题的回答:

  

在iframe中,window.parent引用父对象的全局对象   文档,而不是文档对象本身。我相信你需要   使用parent.document.getElementById

尝试使用parent.document访问iframe,看看这是否解决了您的问题。

答案 2 :(得分:0)

假设您在主窗口中只有1个IFRAME,则可以从IFRAME文档的Javascript中执行以下操作:

function getMySelf()
{
    return (window.parent.document.getElementsByTagName("iframe"))[0];
}

var myself = getMySelf();
myself.style.width = whateverWidth;
myself.style.height = whateverHeight;