この記事では、iframe の調整と、 display: none
と非表示の調整を標準化することの利点について説明します。
注
この記事は、Microsoft Edge バージョン 116 以降に適用されます。
要約
display: none
され、表示されないクロスオリジン iframe は、クロスプロセスでレンダリングされるときに調整されますが、同じプロセスでレンダリングされる場合は調整されません。 同じプロセス シナリオで調整が行われないと、ページのレンダリングに使用される基になるプロセス モデルがわからない開発者にとって、予期しない動作が発生する可能性があります。 また、この iframe シナリオでは、悪意のあるアクターがプローブして、閲覧セッションでサイト/配信元の分離が有効になっているかどうかを確認できます。
調整された iframe は requestAnimationFrame
と ResizeObserver
にアクセスできなくなるため、さまざまな調整アプローチが Web 開発者に影響します。 この機能は調整を標準化するため、同じプロセスかクロスプロセスかに関係なく、すべてのクロスオリジン iframe に適用されます。
注
"非表示" は、ビューポートの外側にある 0 以外の領域フレームを意味します。
目標
Iframe 調整は、レイアウトとレンダリングのオーバーヘッドを減らそうとする点滅メカニズムです。 調整されたフレームは部分的なレイアウトでのみ行われ、フレームが調整された場合、 requestAnimationFrame
と ResizeObserver
は動作しません。 親とは異なるプロセスに配置され、 display: none
または非表示のクロスオリジン iframe は調整されます。 現在、親と同じプロセスでレンダリングされるクロスオリジン フレームはスローされず、プロセス モデルに基づいて異なる動作が発生します。 このポリシーを有効にすると、すべてのクロスオリジン、 display: none
、または非表示のフレームが調整されます。これにより、同じプロセスとクロスプロセスのケース間で一貫した動作が提供されます。
コンテンツ ライセンス
注
このページの一部の情報は、Chromium.org によって作成および共有されている著作物に基づいており、Creative Commons Attribution 4.0 International License に記載されている条項に従って使用されています。 元のページはこちらです。
この著作物は、Creative Commons Attribution 4.0 International License に従って使用許諾されています。