HTML <iframe> 标签的 sandbox 属性
如果被规定为空字符串(sandbox=""),sandbox 属性将会启用一系列对行内框架中内容的额外限制。
实例
带有额外限制的 <iframe>:
<!DOCTYPE html>
<html>
<body>
<iframe src="/example/html/html_content.html" sandbox="">
<p>您的浏览器不支持 iframes 标签。</p>
</iframe>
<p>"获得日期和时间" 按钮会在行内框架中运行一段脚本。</p>
<p>由于 sandbox 属性被设置为空字符串 (""),行内框架的内容不允许运行脚本。</p>
<p>如果向 sandbox 属性添加 "allow-scripts",则允许运行 JavaScript。</p>
<p><b>注释:</b>IE 9 以及更早的版本不支持 sandbox 属性,Opera 12 以及更早的版本也不支持该属性。</p>
</body>
</html>
浏览器支持
属性 | |||||
---|---|---|---|---|---|
alt | Yes | Yes | Yes | Yes | Yes |
所有主流浏览器都支持 sandbox 属性。
注释:IE 9 以及更早的版本不支持 sandbox 属性,Opera 12 以及更早的版本也不支持该属性。
定义和用法
如果被规定为空字符串(sandbox=""),sandbox 属性将会启用一系列对行内框架中内容的额外限制。
当 sandbox 属性存在时,它将:
- 将内容视为来自唯一来源
- 阻止表单提交
- 阻止脚本执行
- 禁用API
- 阻止链接指向其他浏览上下文
- 阻止内容使用插件(通过<embed>、<object>、<applet>或其他)
- 阻止内容浏览其顶级浏览上下文
- 阻止自动触发的功能(如自动播放视频或自动对焦窗体控件)
sandbox 属性的值既可以是一个空字符串(应用所有的限制),也可以是空格分隔的预定义值列表(将移除特定的限制)。
HTML 4.01 与 HTML 5 之间的差异
sandbox 是 HTML5 中的新属性。
语法
<iframe sandbox="value">
属性值
值 | 描述 |
---|---|
"" | 应用以下所有的限制。 |
allow-same-origin | 允许 iframe 内容被视为与包含文档有相同的来源。 |
allow-top-navigation | 允许 iframe 内容从包含文档导航(加载)内容。 |
allow-forms | 允许表单提交。 |
allow-scripts | 允许脚本执行。 |