>  기사  >  웹 프론트엔드  >  직접 액세스하지 않고 도메인 간 iFrame 콘텐츠의 스타일을 지정하는 방법은 무엇입니까?

직접 액세스하지 않고 도메인 간 iFrame 콘텐츠의 스타일을 지정하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-08 01:12:02923검색

How to Style Cross-Domain iFrame Content Without Direct Access?

도메인 간 iFrame 콘텐츠 스타일 수정

질문:

콘텐츠 스타일을 어떻게 변경할 수 있습니까? 파일이나 스타일시트를 배치할 iFrame의 소스 도메인에 액세스할 수 없다면 다른 도메인의 iFrame을 사용하시겠습니까?

답변:

교차 도메인 제한으로 인해 , JavaScript나 기타 기존 방법을 사용하여 iFrame 콘텐츠 스타일을 직접 수정하는 것은 불가능합니다.

해결책:

실행 가능한 유일한 접근 방식은 iFrame을 프록시하는 것입니다. 자체 서버를 통해 콘텐츠를 제공합니다. 이를 달성하는 방법은 다음과 같습니다.

  1. 프록시 스크립트 만들기:

    • 서버에 프록시 스크립트를 설정하여 원격 도메인의 iFrame 콘텐츠.
    • PHP, Node.js 또는 Python과 같은 도구를 사용하여 프록시 스크립트를 작성합니다.
  2. HTML 콘텐츠 수정:

    • 프록시 스크립트에서 원격 도메인의 응답을 가로챕니다.
    • HTML 콘텐츠를 구문 분석하고 iFrame 콘텐츠에 대한 CSS 스타일을 수정합니다. 예를 들어 배경색을 검은색으로, 텍스트 색상을 흰색으로 변경할 수 있습니다.
  3. 수정된 콘텐츠 반환:

    • 수정된 HTML 콘텐츠를 클라이언트에 대한 응답으로 반환합니다.

프록시 스크립트 예:

<?php
// Fetch content from remote domain
$content = file_get_contents('https://crossdomain.example.com');

// Parse HTML and modify style
$doc = new DOMDocument();
$doc->loadHTML($content);
$styles = $doc->getElementsByTagName('style');
$styles[0]->textContent .= "body { background-color: black; color: white; }";

// Return modified content
echo $doc->saveHTML();
?>
  1. iFrame URL 구성:

    • 원래 교차 도메인 URL 대신 프록시 스크립트를 가리키도록 iFrame의 'src' 속성을 수정합니다.

이 프록시 기술을 사용하면 도메인 간 보안 제한을 위반하지 않고 도메인 간 iFrame 콘텐츠의 스타일을 효과적으로 변경할 수 있습니다.

위 내용은 직접 액세스하지 않고 도메인 간 iFrame 콘텐츠의 스타일을 지정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.