INDEX
iframeの概要
| 別のWebページやコンテンツを埋め込む HTMLタグ | ||
|
<iframe src=”URL”></iframe> 概要 iframeタグは、別のWebページや動画、地図、広告などのコンテンツを現在のページに埋め込むためのタグです。 |
||
|
iframeタグの主な属性
| 属性 | 説明 | 使用例 |
|---|---|---|
src |
埋め込むコンテンツのURL | <iframe src="https://ja.wikipedia.org/wiki/"></iframe> |
width |
iframeの幅(pxまたは%) | <iframe width="600"></iframe> |
height |
iframeの高さ(pxまたは%) | <iframe height="400"></iframe> |
frameborder |
枠線の表示(0: 非表示、1: 表示)※非推奨 | <iframe frameborder="0"></iframe> |
allowfullscreen |
動画などのフルスクリーン表示を許可 | <iframe allowfullscreen></iframe> |
loading |
読み込みの遅延(lazy: 遅延読み込み、eager: 即時読み込み) | <iframe loading="lazy"></iframe> |
sandbox |
セキュリティ制限を設定 | <iframe sandbox="allow-scripts"></iframe> |
iframeタグの基本的な使い方
以下の例では、外部サイトをiframe内に埋め込んでいます。
<iframe src="https://ja.wikipedia.org/wiki/" width="600" height="400"></iframe>
実行例:
iframeタグの応用:YouTube動画の埋め込み
YouTube動画を埋め込む場合、YouTubeが提供する埋め込み用のURLを使用します。
<iframe width="560" height="315" src="https://www.youtube.com/embed/VIDEO_ID" allowfullscreen></iframe>
iframeタグの応用:Googleマップの埋め込み
Googleマップの共有機能を使って、特定の場所をiframeで埋め込むことができます。
<iframe width="600" height="450" src="https://www.google.com/maps/embed?pb=..." allowfullscreen></iframe>
iframeのセキュリティ対策
- サンドボックス化(sandbox属性): iframe内のスクリプト実行を制限できます。
- リファラー制御(referrerpolicy属性): クリック時に送信されるリファラー情報を制御できます。
- CSP(Content Security Policy)を設定: 外部コンテンツの読み込みを制限できます。
- X-Frame-Optionsヘッダー: クリックジャッキング攻撃を防ぐためにiframeの使用を制限することが推奨されます。
よくある質問
- Q: iframeタグを使って埋め込めないサイトがありますが、なぜですか?
- A: 多くのサイトは
X-Frame-Optionsヘッダーを設定しており、iframeによる埋め込みを防止しています。 - Q: iframeのスクロールバーを非表示にできますか?
- A: CSSの
overflow: hidden;を使用することで非表示にできます。 - Q: iframeタグをレスポンシブ対応させる方法は?
- A: CSSの
width: 100%;とheight: auto;を指定し、親要素のサイズに応じて調整します。 - Q: iframeの代わりに使えるタグはありますか?
- A: objectタグやembedタグも外部コンテンツの埋め込みに使用できますが、iframeほど広く使われていません。
- Q: iframeを使うとSEOに悪影響がありますか?
- A: 一般的に、iframe内のコンテンツは検索エンジンにインデックスされにくく、SEOにはあまり良い影響を与えません。
まとめ
iframeタグは、外部コンテンツ(Webページ、動画、地図など)を埋め込むために使用する。src属性で埋め込むURLを指定し、widthとheightでサイズを設定できる。- GoogleマップやYouTube動画の埋め込みに多く利用される。
- セキュリティ対策として、sandbox属性やCSPを活用することが推奨される。
- SEOの観点から、iframe内のコンテンツは検索エンジンに認識されにくい。