도메인이 서로 다른 사이트간 아이프레임(iframe) 높이(scrollHeight) 자동조절하는 방법
로빈아빠
본문
네이버에 올린 글인데, 인터넷익스플로러 7.0 출시이후, 사실상 유일한 방법이라 생각이 됩니다. 해결방법은 한마디로 아들 프레임 안에 손자 프레임을 두는 것입니다. 이때, 손자와 아빠의 도메인은 같아야 합니다. 아이프레임의 높이값을 아이프레임의 내용에 의해 자동으로 조절하는 방법은 익히 아는 바와 같이 parent.document.all.ifr_body.height = document.body.scrollHeight (VBScript 로 표현함.) 이런 방법이었습니다. 그렇지만, 아이프레임의 도메인이 다를 경우, 사실상, 아이프레임의 자동높이 조절은 포기해야 했습니다. 그 어느 지식검색 사이트나 MS 에서도 마찬가지 였습니다. 심지어는 DB 나 쿠키, 세션까지도 동원해보려고 했으나, 이것 또한 마땅치가 않더군요. 그러나, 아래와같은 아이디어로 문제를 해결하였습니다. 핵심은 간단합니다. 아이프레임 안에 또 아이프레임을 두는 것입니다. 예) 1) http://www.cgntv.net/temp/aaa.htm : 최상위 접속사이트 2) http://onnuritv.com/temp/bbb.htm : aaa.htm 안에 있는 아이프레임 사이트 --> bbb.htm 에서 아무리 애를 써도 bbb.htm 의 scrollHeight 는 aaa.htm 에 반영이 절대 안됨. 3) http://www.cgntv.net/temp/ccc.htm : bbb.htm 안에 있는 기능성 아이프레임 bbb.htm 가 onload 될때의 scrollHeight 값, 예를 들어 300 이면 http://www.cgntv.net/temp/ccc.htm?300 --> 요렇게 아이프레임을 호출함. ccc.htm 에서는 300 값을 추출하여 parent 의 parent 에 값을 반영함. parent.parent.document.all.ifr_body.height = mid(document.URL,instr(document.URL,"?")+1,len(document.URL)) 테스트 예제) http://www.cgntv.net/temp/aaa.htm 이상, 감격의 소스공개, 끝입니다!! |
|
|
|
|
|
|
|
|
|
관련링크
댓글목록
등록된 댓글이 없습니다.