iframe要素は、別の文書を埋め込むインライン・フレームを作る際に使用します。
HTML5では、次の属性が廃止されました。
- frameborder属性
- marginheight属性
- marginwidth属性
- scrolling属性
- longdesc属性
また、次の属性が新しく追加されました。
- srcdoc属性
- sandbox属性
- seamless属性
srcdoc属性
srcdoc属性はiframe要素で埋め込むHTML文書の内容を指定します。つまり、表示したいHTMLを属性値として直接入力します。
srcdoc 属性値に入る 「“」 及び 「&」 は実体参照文字(それぞれ 「"」「&」)でエスケープする必要があります。
sandbox属性
sandbox属性を指定すれば、そのインラインフレーム内のコンテンツは次のような制限がかけられます。
- 同じドメイン内の文書であったとしても別ドメインの文書として扱われます
- ほかのウィンドウやフレームを操作できなくなります、子孫フレームは操作可能
- 最上位のウィンドウを操作できなくなります
- フォームの送信を無効化します
- スクリプトの実行を無効化します
一部の制限は、以下のキーワードの指定によって解除することが可能です。
- allow-same-origin
親文書と同じドメインを持つものとする - allow-top-navigation
最上位のウィンドウの操作を許可する - allow-scripts
スクリプトの実行を許可する
seamless属性
seamless属性が指定されると、そのiframe要素で読み込まれたコンテンツは、親ドキュメントの一部としてレンダリングされるようになります。