Атрибут sandbox включает дополнительный набор ограничений на контент во встроенном фрейме <iframe>.
Когда указан атрибут sandbox, то фрейм будет
- воспринимать контент, как полученный из уникального источника
- блокировать отправку данных форм
- блокировать исполнение скриптов
- отключать различные API
- отключать перенаправление ссылок на другие контексты вывода
- отключать использование плагинов (при помощи элементов <embed>, <object>, <applet> и т. п.)
- отключать top-навигацию
- блокировать автоматически включаемые функции (например, автоматическое проигрывание видеопотока или автоматическая фокусировка на элементах контроля формы)
Значением атрибута sandbox может быть либо пустое значение (тогда включаются все ограничения), либо разделенный пробелами список предопределенных значений, которые будут снимать конкретные ограничения.
Атрибут sandbox для тега <iframe> был добавлен в HTML5.
Синтаксис атрибута
<iframe sandbox="значение">
Значения атрибута
Значение | Описание |
---|---|
(пустое значение) | Включить все ограничения |
allow-forms | Разрешить отправку данных форм |
allow-pointer-lock | Разрешить использование API |
allow-popups | Разрешить всплывающие окна |
allow-same-origin | Разрешить воспринимать контент фрейма, как контент из того же источника |
allow-scripts | Разрешить исполнение скриптов |
allow-top-navigation | Разрешить top-навигацию |
Пример использования атрибута
Встроенный фрейм с дополнительными ограничениями:
<iframe src="//msiter.ru/demo_iframe_sandbox.htm" sandbox></iframe>
Встроенный фрейм с разрешением исполнять скрипты и с доступом к контенту сервера:
<iframe src="//msiter.ru/demo_iframe_sandbox_origin.htm" sandbox="allow-same-origin allow-scripts"></iframe>