2008-09-12 3 views
8

나는 우리 회사 CMS 내부에 임베드하고자하는 응용 프로그램을 가지고 있습니다. 이를 수행하는 유일한 방법은 에로드하는 것입니다.<iframe> - 참조 페이지의 전체 높이를 표시하는 방법은 무엇입니까?

쉬운 : 그냥 설정하십시오 heightwidth to 100%! 제외하고는 작동하지 않습니다.

나는 0frameborder 설정에 대해 알아 않았기 때문에 적어도 사이트의 일부처럼 보이는,하지만 난 안에 allready 일이있는 페이지를 못생긴 스크롤 을하지 않으려는 것입니다.

이 작업을 수행하는 트릭이 있습니까?

편집 :

  • CMS는
  • 대부분의 페이지가 CMS
  • 내 응용 프로그램을 통해 만들어 우리의 전체 웹 사이트에 대한 시시한 물건을 표시하는 회사 : 나는 약간 내 질문을 명확히 할 필요가 있다고 생각 아니지만, 그들은 내게 그것을 포함 시키겠다
  • 나는 어떤 iframe에 대한 통제가 없다. 그래서 어떤 해결책도 참조 페이지에서 작동해야한다. (iframe 태그의속성)
  • CMS가 그렇게 100 만 픽셀로 높이를 설정, 바닥 글을 표시 내가 참조 된 페이지에서 부모 페이지의 DOM에 액세스 할 수있는 좋은 생각

하지? 이 도움이 될 수도 있지만 어떤 사람들은이 가능하고 싶지 않을 수도 볼 수 있습니다 ...

이 기술은 여러 소스에서 (gleaned을 작동하는 것 같다,하지만 허용 대답에서 link 영감 :

에서 부모 문서 : 아이에서

<iframe id="MyIFRAME" name="MyIFRAME" 
    src="http://localhost/child.html" 
    scrolling="auto" width="100%" frameborder="0"> 
    no iframes supported... 
</iframe> 

: BTW

<!-- ... --> 
<body> 
<script type="text/javascript"> 
    function resizeIframe() { 

     var docHeight; 
     if (typeof document.height != 'undefined') { 
      docHeight = document.height; 
     } 
     else if (document.compatMode && document.compatMode != 'BackCompat') { 
      docHeight = document.documentElement.scrollHeight; 
     } 
     else if (document.body 
      && typeof document.body.scrollHeight != 'undefined') { 
      docHeight = document.body.scrollHeight; 
     } 

     // magic number: suppress generation of scrollbars... 
     docHeight += 20; 

     parent.document.getElementById('MyIFRAME').style.height = docHeight + "px";  
    } 
    parent.document.getElementById('MyIFRAME').onload = resizeIframe; 
    parent.window.onresize = resizeIframe; 
</script>    
</body> 

: 보안상의 이유로 JavaScript에서 제한으로 인해 부모와 자식이 같은 도메인에있는 경우에만 작동합니다 ...

답변

3

부모 페이지에 페이지를 포함하려면 스크립트 언어를 사용하거나, 이러한 자바 스크립트 방법 중 하나를 시도 할 수 있습니다 : 여기 뭔가가 있지만, 일반적으로 스크롤을 제거 가져옵니다 iframe 태그에 속성으로 scrolling=no를 추가 할 수 있습니다

http://brondsema.net/blog/index.php/2007/06/06/100_height_iframe http://www.experts-exchange.com/Web_Development/Web_Languages-Standards/PHP/Q_22840093.html

+1

이 링크 만 응답이 받아 들여지고 여러 번 투표 한 것으로 믿을 수 없습니다 .. –

0

.

+1

예, 그렇지만 삽입 된 페이지가 iframe 내부에 맞지 않으면 잘립니다. –

2

iframe이 포함 된 페이지와 동일한 서버에 호스팅되어 있다면, access it via javascript 수 있습니다.

setting the iframe to the full height of the contents에 대한 여러 가지 제안 방법이 있습니다.이 각각의 성공 정도는 다양합니다.이 문제에 대한 Google의 설명에 따르면 실제로는 하나 뿐이지 만 모든 것이 맞지 않는 해결책이 있습니다. 두려워!

여러 사람들이 this script이 속임수를 사용한다고보고했지만 구체적인 경우에는 some modification (iframe과 상위 페이지가 동일한 도메인에 있다고 가정)이 필요할 수도 있습니다.

관련 문제