IE7에서는 iframe의 window.resize가 안됩니다. 이에 살짝 우회하는 방식 처리를 해보면.
먼저 해당 Iframe을 레이어로 감쌈니다.
그리고 ifrmae의 width, height를 구해서 감싸고 있는 레이어의 사이즈를 조정해 줍니다.
<div id="RealIfrm">
<iframe name="ifrm"></iframe>
<div>
레이어의 사이즈 조절은
document.getElementById("RealIfrm").style.width = retWidth;
document.getElementById("RealIfrm").style.height = retHeight;
ifrmae안에 표시된 페이지의 height와 width를 구하려면
iframe이름.document.body.scrollHeight
iframe이름.document.body.scrollWidth
이렇게 하면 아이프레임을 감싸고 있는 레이어가 아이프레임에 표시될 페이지의 사이즈 만큼 확장이 되면서 아이프레임을 모두 보여주게 되는 방식입니다.
단, 이 방법은 아이프레임의 도메인이 틀리면 액세스 오류가 발생 합니다.(이 경우 완전 원초 적인 방법이 있지만 절대 비추하며, 서브도메인일 경우에는 도메인 세팅을 해주 면 해결이 됩니다.)
'발자 이야기 > JavaScript' 카테고리의 다른 글
| IE7에서 window.resize 우회하기. (2) | 2006/11/23 |
|---|









댓글을 달아 주세요
비밀댓글 입니다
2006/12/01 10:39도메인이 틀린 경우에는 완전 억지 방법으로서...
2006/12/03 13:09다른 도메인의 페이지를 아이프레임으로 보여주는 원페이지
에서 아이프레임 사이즈를 제어하려면 사이즈만 알면 되죠.
억지 방법이란 원페이지에 왔을때 다른 도메인이 위치한 곳의
특정페이지를 아이프레임으로 호출을 합니다. 물론 아이프레
임으로 불려진 특정페이지에서는 이제는 같은 도메인인 페이
지를 불러옵니다.
물론 이제 도메인이같으니 사이즈를 가져 올수 있겠죠? 사이
즈를 가져오면 이제 parent 페이지를 리로드 합니다 이때 구
한 사이즈를 던져주구요. 그러면 원페이지에서는 받은 값으로
사이즈를 정한후 아이프레임을 뿌려주면 됩니다. 이 방법은
어디까지나 억지 방법입니다.
또한 Ajax로 페이지를 긁어와서 이용하면 쉽게 될줄 알았는
데(페이지 안에 자기 페이지의 사이즈를 찍어줌 Ajax로 그것
을 가져오려 했었습니다.) 하지만 Ajax로 페이지를 긁어올때
스크립트는 스크립트 그대로를 긁어와서... ㅡㅡ;
근본적으로 간단히 해결이 안되면 사이즈만 구해오는 컴포넌
트를 생각하고 있습니다. ㅠㅠ.