사이트 내 전체검색
도메인이 서로 다른 사이트간 아이프레임(iframe) 높이(scrollHeight) 자동조절하는 방법
로빈아빠
https://cmd.kr/javascript/771 URL이 복사되었습니다.

본문

네이버에 올린 글인데,
인터넷익스플로러 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

 

 이상, 감격의 소스공개, 끝입니다!!

   level_25.giflevel2_35.gif3px_space.gifguild_5_emoticon.gif3px_space.gif하랑이짱   06-12-04 13:30  
iframe 하위 iframe 에서 상위 iframe 과 도메인이 같으면 실행되는 버그군요.
꽁수 ㄳ
iframe 하위 iframe 에서 상위 iframe 과 도메인이 같으면 실행되는 버그군요. 꽁수 ㄳ
     
   level_1.giflevel2_1.gif3px_space.gif글놀이   06-12-04 19:33  
꽁수라기 보다는 MS 의 깊은 배려일수도 있죠. 물론 MS 사이트에는 없는 기술이지만...
꽁수라기 보다는 MS 의 깊은 배려일수도 있죠. 물론 MS 사이트에는 없는 기술이지만...
   level_7.giflevel2_4.gif3px_space.gif아이젠   06-12-04 14:43  
이건 팁택으로 보내야 되는거 아닌가요?^^;;;
이건 팁택으로 보내야 되는거 아닌가요?^^;;;
     
   level_1.giflevel2_1.gif3px_space.gif글놀이   06-12-04 19:34  
이 사이트 잘 이용 안해서....^^;
이 사이트 잘 이용 안해서....^^;
   level_17.giflevel2_27.gif3px_space.gif렉스   06-12-04 14:52  
불가능은 없다 좋은 정보 감사..
불가능은 없다 좋은 정보 감사..
   level_35.giflevel2_22.gif3px_space.giftechbug.gif3px_space.gif데꾸벅   06-12-04 19:16  
허~~ 이런방법이.. 그런데 bbb.htm 에서 ccc.htm 에 300이란값은 다른도메인의 수정이 필요한거네요? 다른도메인에 쓰인 bbb.htm은 누가 수정을 해주죠?
허~~ 이런방법이.. 그런데 bbb.htm 에서 ccc.htm 에 300이란값은 다른도메인의 수정이 필요한거네요? 다른도메인에 쓰인 bbb.htm은 누가 수정을 해주죠?
     
   level_1.giflevel2_1.gif3px_space.gif글놀이   06-12-04 19:35  
질문 잘하셨습니다. bbb.htm 은 수정가능해야 합니다.
소스수정할 수 없는 사이트면 불가능합니다.
질문 잘하셨습니다. bbb.htm 은 수정가능해야 합니다. 소스수정할 수 없는 사이트면 불가능합니다.
   level_1.giflevel2_1.gif3px_space.gif글놀이   06-12-04 19:30  
아버지도메인 - 아들도메인 - 손자도메인, 아버지도메인=손자도메인.
이 개념만 이해하시고, 최대한 코딩이 쉽게되도록 코딩하시면 됩니다.
여기 예제는 예제일뿐입니다.
물론 아들도메인에서 손자도메인을 호출할 수 있는 코딩은 가능해야 합니다.
이 개념을 응용하면 서로다른 도메인에서의 이미지자동리사이즈 버그도 잡을 수 있을 겁니다.
아버지도메인 - 아들도메인 - 손자도메인, 아버지도메인=손자도메인. 이 개념만 이해하시고, 최대한 코딩이 쉽게되도록 코딩하시면 됩니다. 여기 예제는 예제일뿐입니다. 물론 아들도메인에서 손자도메인을 호출할 수 있는 코딩은 가능해야 합니다. 이 개념을 응용하면 서로다른 도메인에서의 이미지자동리사이즈 버그도 잡을 수 있을 겁니다.
   level_2.giflevel2_1.gif3px_space.gif즈키   07-03-19 16:02  
와 미치겠다.. 이런 베리 나이스한 뷰티플 팁을 보다니 - _-

댓글목록

등록된 댓글이 없습니다.

831 (2/17P)

Search

Copyright © Cmd 명령어 3.16.135.226