iframe은 원래 w3c에 있지 않습니다. 익스쪽에서껴 놓은거죠. 여하튼 firefox에서 인지는 되긴 하나 height에 대한 값을 게시판 길이 변형을 대략 예상하여 2024이런씩으로 크게 주시던가 아니면, frame태그를 사용하셔서 원천적으로 문제를 해결하기 바랍니다.
iframe처럼 효과를 내고 싶으면 frame을 안보이는 곳에 잘게 나누거나 통합하며 쉽게죠.
불여우에서 접근할때는 document.body 가 아니라 contentDocument.body 던가..
여하튼 DOM 접근방식이 다릅니다.
그리고, 가급적 language='javascript' 대신 type='text/javascript' 로 사용해주시고, iframe을 사용 안 하는 방향이 가장 바람직하겠죠... ^^
제 경우는 iframe width 를 100으로 잡고 시작하기 때문에 아래 script 에 width 관련 부분이 없긴 한데, width 도 추가하시면 될 것 같네요.
단, 아래 script 의 문제는 짧은 페이지에서 긴 페이지로 iframe 이 바뀔때는 ( 즉, scroll bar 가 생기는 것을 막기 위한 경우 ) 잘 작동하나, 반대로 긴 페이지에서 짧은 페이지로 이동할 경우에 줄어드는 것 까지는 안됩니다. 한번 늘어나면 그대로 끝.
function resizeIframe( frameName )
{
var iframeObject = document.getElementById(frameName);
var the_height=iframeObject.contentWindow.document.body.scrollHeight;
//find the height of the internal page
iframeObject.style.height=the_height;//change the height of the iframe
}
예전에 본문 내용같은걸 iframe에서 보여주고
iframe 안에서 body onload 에서 parent에 있는
iframe resize를 하는 함수를 호출하도록 작성을 했었는데
ff에서는 완벽하게 작동을 했는데
다른 사람들이 내용이 안보인다고해서 확인을 해보니
ie에서는 되기도 했다가 안되기도 했다가(안되는 경우가 더 많았습니다..)
그래서 어쩔수 없이 다른 방법으로 작업을 했었던 경우가 있었습니다..
정확하게는 본문이 아니라 목록 같은거여서 그냥 여유있게 크기를 고정해버리는 방법을 썼었습니다..
지금은 소스를 안 갖고 있는 상황인데..
혹시나 찾아보고 있으면 올려볼께요.. ^^;
<script language='JavaScript' type='text/javascript'>
function resizeIframe( frameName )
{
var iframeObject = document.getElementById(frameName);
var the_height=iframeObject.contentWindow.document.body.scrollHeight;
//find the height of the internal page
iframeObject.style.height=the_height;//change the height of the iframe
}
</script>
<iframe frameborder=0 id='frameName' width='550' src='$i_url' height='100%' scrolling='no'></iframe>
'iframe을 부르는 파일'에다가 한번에 넣은 상황입니다.
('iframe을 부르는 대상파일'이 아닌)
저번에는 iframe으로 불려질 대상 프로그램 파일에 'script'를 넣었더니 에러가 나서(무슨 코드인지 기억은 안나네요. OTL) 이번에는 iframe을 쓴 파일에다가 한번에 집어 넣게 되었는데요. 역시 안되네요. 다만 에러는 나지 않고 있습니다.
그래서 이번엔 소스를 다시 불려질 대상 프로그램 파일에 집어 넣었는데 스크립트 에러가 또 뜨던데 관찰(?)해본결과 에러가될 번호가 아니었습니다.(공백라인인데 거기에서 에러가 난데네요.)
역시 오히려 둘다 아이프레임 내역이 쫍아서 못쓰고 말았습니다.
그래서 결국 바로 이전 방법에 사이즈를 고정시키고 내부 스크롤바를 달아버렸습니다.
ie에선 투명스크롤바 스타일시트가 있어서 이걸 먹였습니다.
단지 조금 껄끄럽게 돌아가서 아쉬웠습니다. 고정이 안되고 살짝 밑으로 내려가네요.
근데 불여우에서는 스크롤바 꾸미기 같은게 없어서 그런지 역시나 좀 지저분 하네요. 새창띄우는것보다야 이게 좀더 났지 않겠는가 싶어서 참는중입니다. 역시 iframe과 상성이 안맞는건지 모르겠지만 당분간은 이렇게 해야 겠네요. 그냥 되는 스크립트가 뜰때까지는 계속해서 기다리겠습니다. 정말 꾸준히 신경써주셔서 감사합니다.