> 웹 프론트엔드 > JS 튜토리얼 > 동일 출처 정책을 우회하면서 Iframe 높이를 동적으로 조정하려면 어떻게 해야 합니까?

동일 출처 정책을 우회하면서 Iframe 높이를 동적으로 조정하려면 어떻게 해야 합니까?

Mary-Kate Olsen
풀어 주다: 2024-12-17 13:51:16
원래의
708명이 탐색했습니다.

How Can I Dynamically Adjust Iframe Height While Bypassing the Same-Origin Policy?

동적 Iframe 높이 조정

iframe을 통해 외부 소스의 콘텐츠를 통합하는 경우 적절한 높이 조정이 중요합니다. 이 기사에서는 iframe이 콘텐츠에 맞게 자동으로 크기를 조정할 수 있도록 동일 출처 정책을 우회하는 솔루션에 대해 자세히 설명합니다.

동일 출처 정책을 우회하기 위해 브라우저 특성 악용

핵심은 상위 도메인이 iframe과 통신하도록 허용하는 반면 iframe은 해당 도메인과 직접 통신할 수 없는 브라우저 특성을 활용하는 데 있습니다. 부모. 이 통신 계층 구조는 아래에 설명되어 있습니다.

Page Can Communicate With
www.foo.com/home.html N/A (parent)
www.bar.net/framed.html www.foo.com/helper.html (child)
www.foo.com/helper.html www.foo.com/home.html (parent)

URL 인수를 사용하여 높이 정보 전달

iframe의 높이를 확인하려면 콘텐츠 페이지(www.bar.net/ Framed.html)은 이를 계산하고 URL 인수를 통해 도우미 iframe(상위와 동일한 도메인에 위치)의 src 속성을 설정합니다. 그런 다음 도우미 iframe은 이 정보를 부모에게 전달하고 부모는 이에 따라 iframe 높이를 조정할 수 있습니다.

코드 구현

www.foo.com/home. HTML(부모 페이지):

function resizeIframe(height) {
  // Adjust the iframe height with a slight margin
  document.getElementById('frame_name_here').height = parseInt(height) + 60;
}
로그인 후 복사

www.bar.net/framed.html(하위 페이지):

function iframeResizePipe() {
  // Calculate and pass the height to the helper iframe
  var height = document.body.scrollHeight;
  var pipe = document.getElementById('helpframe');
  pipe.src = 'http://www.foo.com/helper.html?height=' + height + '&cacheb=' + Math.random();
}
로그인 후 복사

www.foo .com/helper.html(도우미 페이지):

function parentIframeResize() {
  // Extract the height from the URL argument
  var height = getParam('height');

  // Communicate the height to the parent page
  parent.parent.resizeIframe(height);
}
로그인 후 복사

위 내용은 동일 출처 정책을 우회하면서 Iframe 높이를 동적으로 조정하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿