bootstrap javascript iframe resize no-framework

javascript - bootstrap - ¿Es posible que iframe cambie el tamaño sin ayuda de la ventana principal?



iframe video (3)

Tanto la ventana principal como el iframe están en el mismo dominio, pero lo que quiero lograr es cambiar el tamaño del iframe para que se ajuste a su contenido utilizando js solo dentro de ese iframe.

Tampoco sé la id del iframe que se le asigna por la ventana principal. Y no quiero usar jquery ni ningún otro marco para eso.


Asumiendo que solo tiene 1 IFRAME en la ventana principal, desde el Javascript del documento de IFRAME puede hacer algo como:

function getMySelf() { return (window.parent.document.getElementsByTagName("iframe"))[0]; } var myself = getMySelf(); myself.style.width = whateverWidth; myself.style.height = whateverHeight;


También puede hacer esto sin conocer el id del iframe en la ventana principal:

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

Ver frameElement en MDN .

EDITAR

En caso de que el iframe esté en un contenedor con tamaño fijo y overflow: hidden puede hacer algo como esto:

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


Para contenido del mismo origen como el tuyo, sí puedes .

Para tomar prestado de la respuesta de Gary a la pregunta anterior:

En el iframe, window.parent se refiere al objeto global del documento principal, no al objeto del documento en sí. Creo que necesitarías usar parent.document.getElementById

Intente acceder al iframe utilizando parent.document y vea si esto resuelve su problema.