iframe과 includ는 과연?

Mozilla Firefox 사용에 대한 일반적인 질문과 답을 해 주는 게시판입니다. 질문을 하기 전에 FAQ를 읽어 보시는게 도움이 될 것입니다.
Post Reply
단순해

iframe과 includ는 과연?

Post by 단순해 »

아... 진짜 속 뒤집어지네요 이놈의 iframe땜에..
밑에 팁들을 찾아가며 마구 헤집어서 해봤는데 스크롤바 생기거나 윗퉁이만 나오는 상황만 나오네요..

그렇다고 해서 혹시나 하는 마음으로 include문을 썼는데..(테터블로그 씁니다.)
역시나!! 안통하네요.

평균적으로 script는 불러들일 원문에다가 쓰고

iframe문만 index페이지 등등에 쓰는듯 한데 ie에선 잘통해도 어째서인지 불여우에선 안통하네요.

Code: Select all

<script language="JavaScript"> 

function resize_me(){ 

    var bodyHeight = document.body.scrollHeight; 
    var bodyWidth = document.body.scrollWidth; 
             //alert(bodyHeight+","+bodyWidth) 
    resizeTo(bodyWidth,bodyHeight); 
} 
</script>


<iframe frameborder=0 width='500' src='$i_url' height='100%' scrolling='no'></iframe>

**** $i_url은 치환문이니까 신경쓰지 마세요. OTL ****

스크립트는 위에 말씀드렸듯이 전체문서의 불러들일 문서(PHP)이고

IFRAME문은 전체문서에서 사용했습니다.

대체 무엇이 문제일까요? 맞춰주세요. 딩동댕 OTL
fox

height는 % 지정안됩니다.

Post by fox »

iframe은 원래 w3c에 있지 않습니다. 익스쪽에서껴 놓은거죠. 여하튼 firefox에서 인지는 되긴 하나 height에 대한 값을 게시판 길이 변형을 대략 예상하여 2024이런씩으로 크게 주시던가 아니면, frame태그를 사용하셔서 원천적으로 문제를 해결하기 바랍니다.
iframe처럼 효과를 내고 싶으면 frame을 안보이는 곳에 잘게 나누거나 통합하며 쉽게죠.
kiryu
Posts: 48
Joined: 2004 11 30 15:51 28
Contact:

Post by kiryu »

불여우에서 접근할때는 document.body 가 아니라 contentDocument.body 던가..
여하튼 DOM 접근방식이 다릅니다.
그리고, 가급적 language='javascript' 대신 type='text/javascript' 로 사용해주시고, iframe을 사용 안 하는 방향이 가장 바람직하겠죠... ^^
kingori
Posts: 28
Joined: 2004 10 21 16:54 08
Contact:

제가 쓰는 스크립트입니다.

Post by kingori »

제 경우는 iframe width 를 100으로 잡고 시작하기 때문에 아래 script 에 width 관련 부분이 없긴 한데, width 도 추가하시면 될 것 같네요.

단, 아래 script 의 문제는 짧은 페이지에서 긴 페이지로 iframe 이 바뀔때는 ( 즉, scroll bar 가 생기는 것을 막기 위한 경우 ) 잘 작동하나, 반대로 긴 페이지에서 짧은 페이지로 이동할 경우에 줄어드는 것 까지는 안됩니다. 한번 늘어나면 그대로 끝. :(

Code: Select all

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
}
User avatar
z980
서포터즈
서포터즈
Posts: 107
Joined: 2004 02 17 09:08 16
Location: Korea, Republic of
Contact:

Post by z980 »

저와 완전히 반대의 경우이군요..

예전에 본문 내용같은걸 iframe에서 보여주고
iframe 안에서 body onload 에서 parent에 있는
iframe resize를 하는 함수를 호출하도록 작성을 했었는데
ff에서는 완벽하게 작동을 했는데
다른 사람들이 내용이 안보인다고해서 확인을 해보니
ie에서는 되기도 했다가 안되기도 했다가(안되는 경우가 더 많았습니다..)
그래서 어쩔수 없이 다른 방법으로 작업을 했었던 경우가 있었습니다..

정확하게는 본문이 아니라 목록 같은거여서 그냥 여유있게 크기를 고정해버리는 방법을 썼었습니다..
지금은 소스를 안 갖고 있는 상황인데..
혹시나 찾아보고 있으면 올려볼께요.. ^^;
단순해

감사합니다.kingori님.

Post by 단순해 »

하지만 해결이 안되고 스크립트 에러가 뜨네요. OTL
kingori
Posts: 28
Joined: 2004 10 21 16:54 08
Contact:

Post by kingori »

스크립트 에러가 어떻게 나시죠? 제가 현재도 잘 쓰고있는 (IE,FF ) 코드라서요.

혹시 iframe 에 id 를 안주신것은 아닌지?
단순해

이렇게 했습니다.

Post by 단순해 »

이번에는 이렇게 했는데요.

Code: Select all

<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을 쓴 파일에다가 한번에 집어 넣게 되었는데요. 역시 안되네요. 다만 에러는 나지 않고 있습니다.
그래서 이번엔 소스를 다시 불려질 대상 프로그램 파일에 집어 넣었는데 스크립트 에러가 또 뜨던데 관찰(?)해본결과 에러가될 번호가 아니었습니다.(공백라인인데 거기에서 에러가 난데네요.)

아 뭔가 새로운 방도는 없을까요?[/code]
kingori
Posts: 28
Joined: 2004 10 21 16:54 08
Contact:

으음...

Post by kingori »

제가 지금 다시 해보니 ff 1.5 에서 이상작동합니다.
그래서 아주 만족스럽지는 않지만 조금 더 수정을 해봤습니다.
크.. 이렇게 버젼마다 휙휙 바뀌니 참으로 고달프네요.

Code: Select all

<script type="text/javascript">   
function resizeIframe( frameObj )
{
  var the_height= frameObj.contentDocument? frameObj.contentDocument.documentElement.scrollHeight: 
frameObj.contentWindow.document.body.scrollHeight;
  frameObj.style.height=the_height;
}

</script>
<iframe frameborder=0 id="iframe1" src="$url$" width="100%" scrolling="yes" onload="resizeIframe(this);"></iframe>
단순해

정말 감사합니다. 하오나..

Post by 단순해 »

역시 오히려 둘다 아이프레임 내역이 쫍아서 못쓰고 말았습니다.
그래서 결국 바로 이전 방법에 사이즈를 고정시키고 내부 스크롤바를 달아버렸습니다.
ie에선 투명스크롤바 스타일시트가 있어서 이걸 먹였습니다.
단지 조금 껄끄럽게 돌아가서 아쉬웠습니다. 고정이 안되고 살짝 밑으로 내려가네요.

근데 불여우에서는 스크롤바 꾸미기 같은게 없어서 그런지 역시나 좀 지저분 하네요. 새창띄우는것보다야 이게 좀더 났지 않겠는가 싶어서 참는중입니다. 역시 iframe과 상성이 안맞는건지 모르겠지만 당분간은 이렇게 해야 겠네요. 그냥 되는 스크립트가 뜰때까지는 계속해서 기다리겠습니다. 정말 꾸준히 신경써주셔서 감사합니다.
Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests