메인 윈도우와 iframe은 모두 동일한 도메인에 있지만, 내가 원하는 것은 해당 iframe 내에서만 js를 사용하여 내용에 맞게 iframe의 크기를 조정하는 것입니다.기본 창에서 도움없이 iframe 크기를 조정할 수 있습니까?
메인 창에서 할당 한 iframe의 ID도 알 수 없습니다. 그리고 jquery 나 다른 프레임 워크를 사용하고 싶지 않습니다.
메인 윈도우와 iframe은 모두 동일한 도메인에 있지만, 내가 원하는 것은 해당 iframe 내에서만 js를 사용하여 내용에 맞게 iframe의 크기를 조정하는 것입니다.기본 창에서 도움없이 iframe 크기를 조정할 수 있습니까?
메인 창에서 할당 한 iframe의 ID도 알 수 없습니다. 그리고 jquery 나 다른 프레임 워크를 사용하고 싶지 않습니다.
당신은 부모 창에서 iframe
의 id
을 모르고 또한이 작업을 수행 할 수 있습니다
window.frameElement.style.width = iframeContentWidth + 'px';
window.frameElement.style.height = iframeContentHeight + 'px';
가 MDN에 frameElement
를 참조하십시오.
을 편집 iframe
당신은 다음과 같이 할 수 overflow: hidden
크기를 고정하고있는 컨테이너 요소에 될 일이 그냥 경우
: 당신은 단지 1 IFRAME에서이 가정
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;
}
너와 같은 출처 콘텐츠의 경우 yes you can입니다.
은 위의 질문에 게리의 답변을 빌려 : iframe을에서, window.parent 부모 문서가 아닌 문서 객체 자체의 전역 객체를 참조합니다. 난 당신이
이 parent.document를 사용하여 iframe이 접근 시도하고이 문제를 해결할 수 있는지 사용 parent.document.getElementById
를해야합니다 생각합니다.을 메인 윈도우, IFRAME의 문서 자바 스크립트에서 다음과 같이 할 수 있습니다 :
function getMySelf()
{
return (window.parent.document.getElementsByTagName("iframe"))[0];
}
var myself = getMySelf();
myself.style.width = whateverWidth;
myself.style.height = whateverHeight;