HTML <iframe> 标签的 sandbox 属性

如果被规定为空字符串(sandbox=""),sandbox 属性将会启用一系列对行内框架中内容的额外限制。


实例

带有额外限制的 <iframe>:

  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4. <iframe src="/example/html/html_content.html" sandbox="">
  5. <p>您的浏览器不支持 iframes 标签。</p>
  6. </iframe>
  7. <p>"获得日期和时间" 按钮会在行内框架中运行一段脚本。</p>
  8. <p>由于 sandbox 属性被设置为空字符串 (""),行内框架的内容不允许运行脚本。</p>
  9. <p>如果向 sandbox 属性添加 "allow-scripts",则允许运行 JavaScript。</p>
  10. <p><b>注释:</b>IE 9 以及更早的版本不支持 sandbox 属性,Opera 12 以及更早的版本也不支持该属性。</p>
  11. </body>
  12. </html>

浏览器支持

属性
altYesYesYesYesYes

所有主流浏览器都支持 sandbox 属性。

注释:IE 9 以及更早的版本不支持 sandbox 属性,Opera 12 以及更早的版本也不支持该属性。


定义和用法

如果被规定为空字符串(sandbox=""),sandbox 属性将会启用一系列对行内框架中内容的额外限制。

当 sandbox 属性存在时,它将:

  • 将内容视为来自唯一来源
  • 阻止表单提交
  • 阻止脚本执行
  • 禁用API
  • 阻止链接指向其他浏览上下文
  • 阻止内容使用插件(通过<embed>、<object>、<applet>或其他)
  • 阻止内容浏览其顶级浏览上下文
  • 阻止自动触发的功能(如自动播放视频或自动对焦窗体控件)

sandbox 属性的值既可以是一个空字符串(应用所有的限制),也可以是空格分隔的预定义值列表(将移除特定的限制)。


HTML 4.01 与 HTML 5 之间的差异

sandbox 是 HTML5 中的新属性。


语法

  1. <iframe sandbox="value">
属性值
描述
""应用以下所有的限制。
allow-same-origin允许 iframe 内容被视为与包含文档有相同的来源。
allow-top-navigation允许 iframe 内容从包含文档导航(加载)内容。
allow-forms允许表单提交。
allow-scripts允许脚本执行。