Тег <iframe>
Тег <iframe> вбудовує інший HTML-документ усередину поточної сторінки як окремий вкладений browsing context.
Syntax
<iframe src="https://example.com/widget" title="Опис вмісту"></iframe> Attributes
| src / srcdoc | URL зовнішнього документа, або srcdoc для вбудованого HTML прямо в атрибуті. |
| sandbox | Обмежує можливості вмісту фрейму. Порожній sandbox="" — максимальні обмеження (без скриптів, без same-origin доступу); окремі токени (allow-scripts тощо) послаблюють конкретні обмеження. |
| allow | Permissions Policy для фрейму: camera, microphone, geolocation тощо. |
| loading | "lazy" відкладає завантаження фрейму поза видимою областю. |
| title | Обов'язковий для доступності — описує призначення вмісту фрейму. |
Example
<iframe src="https://www.youtube.com/embed/VIDEO_ID" title="Відео" loading="lazy"></iframe>
Notes
- Без атрибута sandbox вміст фрейму з іншого origin все одно ізольований same-origin policy браузера, але sandbox додає додаткові явні обмеження навіть для контенту з того самого origin.
- sandbox="allow-scripts allow-same-origin" одночасно фактично знімає ізоляцію — так комбінувати не варто для недовіреного контенту.
Accessibility
- Без title screen-читачі оголошують фрейм просто як "iframe" без пояснення, що всередині.