iframe 과 부모 창
//
$(parent.document).scrollTop()
하위 iframe 에 부모 레벨 iframe 또는 손 레벨 iframe 높이 설정:
function showIframeH(){
var parentWin = parent.document.getElementById("test");
if(!parentWin) return false;
var sub = parentWin.contentWindow.document.getElementById("test2");
if(!sub) return false;
var thirdHeight = sub.contentWindow.document.body.offsetHeight; // body
sub.height = thirdHeight; // iframe
var secondHeight = x.contentWindow.document.body.offsetHeight; // body
x.height = secondHeight; // iframe
//alert(secondHeight);
//alert('body: ' + x.contentDocument.body.offsetHeight + ' div:' + thirdHeight);
}
페이지 A 에는 탭 을 전환 할 때 높이 가 변 하 는 탭 이 몇 개 포함 되 어 있 습 니 다.페이지 B 는 iframe 으로 페이지 A 를 참조 하고 A 를 불 러 올 때 iframe 의 높이 를 페이지 A 의 높이 로 설정 합 니 다 (사용자 정의 adjustHeight () 함수 호출).그러나 탭 을 전환 할 때 iframe 의 높이 는 변 하지 않 고 스크롤 바 가 나타 납 니 다.이 문제 의 난점 은 페이지 B 가 프레임 워 크 가 자동 으로 생 성 되 는 것 이다. 나 는 변경 할 수 없고 페이지 A 에서 만 이 문 제 를 복구 할 수 있다.물론 이 문제 의 전 제 는 페이지 A 와 B 가 같은 도 메 인 이라는 것 입 니 다. 자바 스 크 립 트 는 도 메 인 을 넘 어 접근 할 권리 가 없 기 때 문 입 니 다.그래서 문 제 는 페이지 A 에서 이 를 포함 하 는 iframe 대상 을 가 져 오 는 방법 으로 바 뀌 었 다.반나절 의 자 료 를 조사 한 후에 DOM 이 이 API 를 제공 하지 않 은 것 을 발 견 했 습 니 다. 그래서 다른 방법 이 생각 났 습 니 다. 부모 창 에 있 는 모든 iframe 대상 을 가 져 와 서 옮 겨 다 니 며 contentWindow 속성 을 self 와 비교 하 는 것 과 같 으 면 페이지 A 를 포함 하 는 iframe 을 표시 합 니 다.
function resetHeight() {
if (!parent) {
return;
}
var iframes = parent.document.getElementsByTagName('iframe');
var length = iframes.length;
if (length == 0) {
return;
}
try {
for (var i = 0; i < length; ++i) {
var iframe = iframes[i];
if (iframe.contentWindow === self) {
parent.adjustHeight(iframe);
return;
}
}
} catch (e) {
}
}
마지막 으로 document. getElementsByTagName ('iframe') 과 frames 의 차 이 를 말씀 드 리 겠 습 니 다.
전 자 는 HTML IFrame Element 대상 의 배열 을 얻 었 고 모든 대상 은 하나의 DOM 요소 입 니 다.
후 자 는 DOMWindow 대상 의 배열, 즉 창의 배열 을 얻 었 다.
HTML IFrameElement 대상 에 contentWindow 속성 이 있 는데 이 속성 은 프레임 의 창 대상 입 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
기초 정리 - 1문자 (String) 숫자 (Number) 불린 (Boolean) null undefined 심볼 (Symbol) 큰정수 (BigInt) 따옴표로 묶어 있어야 함 Not-A-Number - 숫자 데이터 / 숫자로 표...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.