HTML <iframe> sandbox 属性
定义和用法
sandbox
属性为 iframe 中的内容启用了一组额外的限制。
当 sandbox
属性存在时,它将:
- 将内容视为来自唯一来源
- 阻止表单提交
- 阻止脚本执行
- 禁用 API
- 防止链接指向其他浏览上下文
- 防止内容使用插件(通过 <embed>、<object>、<applet> 或其他方式)
- 防止内容导航其顶层浏览上下文
- 阻止自动触发的功能(例如自动播放视频或自动聚焦表单控件)
sandbox
属性的值可以为空(则应用所有限制),或是以空格分隔的预定义值的列表,这将去除特定的限制。
实例
例子 1
带有额外限制的 <iframe>:
<iframe src="demo_iframe_sandbox.htm" sandbox></iframe>
例子 2
允许表单提交的 <iframe> 沙盒:
<iframe src="demo_iframe_sandbox_form.htm" sandbox="allow-forms"></iframe>
例子 3
允许脚本的 <iframe> 沙盒:
<iframe src="demo_iframe_sandbox_origin.htm" sandbox="allow-scripts"></iframe>
语法
<iframe sandbox="value">
属性值
值 | 描述 |
---|---|
""(没有值) | 应用以下所有限制。 |
allow-forms | 允许表单提交。 |
allow-modals | 允许打开模态窗口。 |
allow-orientation-lock | 允许锁定屏幕方向。 |
allow-pointer-lock | 允许使用 Pointer Lock API。 |
allow-popups | 允许弹出窗口。 |
allow-popups-to-escape-sandbox | 允许弹出窗口打开新窗口,而不继承沙盒化。 |
allow-presentation | 允许开始演示会话。 |
allow-same-origin | 允许 iframe 内容被视为与包含文档有相同的来源。 |
allow-scripts | 允许运行脚本。 |
allow-top-navigation | 允许 iframe 内容导航其顶级浏览上下文。 |
allow-top-navigation-by-user-activation | 允许 iframe 内容导航其顶级浏览上下文,但仅在用户发起的情况下。 |
浏览器支持
表中的数字注明了首个完全支持该属性的浏览器版本。
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome | Edge | Firefox | Safari | Opera |
4.0 | 10.0 | 17.0 | 5.0 | 15.0 |