ホームページ > ウェブフロントエンド > CSSチュートリアル > 直接アクセスせずにクロスドメイン iFrame コンテンツのスタイルを設定するにはどうすればよいですか?

直接アクセスせずにクロスドメイン iFrame コンテンツのスタイルを設定するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-11-08 01:12:02
オリジナル
1023 人が閲覧しました

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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート