내 자바 스크립트 환경에서 가장 어려운 문제 중 하나는 iframe 높이가 인 올바른 (즉, 크로스 브라우저) 컴퓨팅입니다. 내 응용 프로그램에서 나는 동적으로 생성 된 iframe이 많아서로드 이벤트의 끝에서 높이와 너비를 조정하기 위해 일종의 자동 크기 지정을 수행하기를 원합니다.크로스 브라우저 iframe 높이 계산
function getDocumentHeight(doc) {
var mdoc = doc || document;
if (mdoc.compatMode=='CSS1Compat') {
return mdoc.body.offsetHeight;
}
else {
if ($.browser.msie)
return mdoc.body.scrollHeight;
else
return Math.max($(mdoc).height(), $(mdoc.body).height());
}
}
내가 성공하지 않고 인터넷을 검색 : 내 최고의 솔루션을 계산 높이의 경우
이 (가) (jQuery를의 도움으로) 다음이다. 나는 또한 문서 및 뷰포트 차원에 대한 몇 가지 방법이있는 Yahoo 라이브러리를 테스트했지만 만족스럽지 않습니다. 내 솔루션은 적절하게 작동하지만 때때로 키가 더 큰 높이를 계산합니다. 나는 공부와 파이어 폭스/IE/Safari에서 문서의 높이에 대한 속성의 톤 테스트 한 :documentElement.clientHeight, documentElement.offsetHeight, documentElement.scrollHeight, body.offsetHeight, body.scrollHeight, ...
는 또한 jQuery를이
$(document.body).height(), $('html', doc).height(), $(window).height()
내가 전화 통화 위의 함수에서뿐만 아니라, 다양한 브라우저에서 일관된 동작을하지 않습니다 로드 이벤트의 끝뿐만 아니라 동적으로 삽입 된 DOM 요소 또는 숨겨진 요소 또는 요소의 경우에도 마찬가지입니다. 로드 이벤트에서만 작동하는 코드가 종종 손상되는 경우입니다.
누군가가 진짜 크로스 브라우저 (Firefox/IE/Safari 이상) 솔루션을 가지고 있습니까? 몇 가지 힌트 또는 힌트?
지금이 문제를 해결하기 위해 노력하고 있습니다. 해결책을 찾았습니까? – Shakakai