iFrame への CSS スタイルシートの挿入
外部ソースから iFrame をロードする場合、クロスドメイン セキュリティのため、カスタム CSS スタイルシートの適用が困難になる場合があります制限。ただし、別のドメインから読み込まれた場合でも、スタイルシートを iFrame に追加するためのソリューションはあります。
クロスドメイン セキュリティの制限
通常、クロスオリジン セキュリティ ポリシーによりスクリプトは禁止されています。あるドメイン上で、別のドメイン上のリソースにアクセスできないようにします。この制限は CSS スタイルシートにも適用されます。
解決策
CSS スタイルシートを iFrame に挿入するには、次のいずれかの方法を使用できます:
JavaScript の直接インジェクション
このメソッドには、 の作成が含まれます。要素を作成し、それを
に追加します。 iFrame のドキュメントの要素。これにはプレーン JavaScript または jQuery を使用できます:<code class="javascript">// Create the CSS link element var cssLink = document.createElement("link"); cssLink.href = "file://path/to/style.css"; cssLink.rel = "stylesheet"; cssLink.type = "text/css"; // Append the link to the iFrame's document frames['iframe'].document.body.appendChild(cssLink);</code>
jQuery 挿入
jQuery を使用して iFrame の先頭にスタイルシートを追加することもできます:
<code class="javascript">var $head = $("iframe").contents().find("head"); $head.append($("<link/>", { rel: "stylesheet", href: "file://path/to/style.css", type: "text/css" }));</code>
セキュリティに関する考慮事項
外部ソースから iFrame に CSS スタイルシートを挿入すると、セキュリティ上の懸念が生じます。以下のことが重要です:
以上がクロスドメインのセキュリティ制限がある場合でも、外部ソースから CSS スタイルシートを iFrame に挿入するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。