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

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

最佳答案

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

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;
}

10-08 08:30