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

标签 javascript iframe resize no-framework

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

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

最佳答案

您也可以在不知道父窗口中 iframeid 的情况下执行此操作:

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

请参阅 MDN 处的 frameElement .

编辑

以防万一 iframe 恰好位于具有固定大小和 overflow: hidden 的容器元素中,您可以这样做:

function resizeIframe (iframeContentWidth, iframeContentHeight) {
    var container = window.frameElement.parentElement;
    if (container != parent.document.body) {
        container.style.width = iframeContentWidth + 'px';
        container.style.height = iframeContentHeight + 'px';
    }
    window.frameElement.style.width = iframeContentWidth + 'px';
    window.frameElement.style.height = iframeContentHeight + 'px';
    return;
}

关于javascript - iframe 是否可以在没有主窗口帮助的情况下自行调整大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11806947/

相关文章:

javascript - 在不阻止默认行为的情况下检测 IE10 中的捏/缩放

javascript - 在运行时检测生产与开发 React

javascript - 等待 iframe 在 JavaScript 中加载

python - PySide:如果隐藏了一个小部件,调整主窗口大小的最佳方法是什么?

javascript - 调整可以隐藏的表格列的大小

php - 如何将 javascript 变量传递给 PHP

javascript - 动态添加时 Facebook 社交插件不显示

javascript - Three.js 中的帧速率异常高

javascript - iFrame 适用于 Chrome 但不适用于 IE/Firefxx

jquery - 固定 DIV 内的动态调整表