iframe的sandbox使用
sandbox:限制iframe的权限,解决安全性问题。
定义
如果被规定为空字符串(sandbox=""),sandbox 属性将会启用一系列对行内框架中内容的额外限制。
sandbox 属性的值既可以是一个空字符串(应用所有的限制),也可以是空格分隔的预定义值列表(将移除特定的限制)。
用法
1. sandbox=""
应用所有限制
2. sandbox="allow-same-origin"
允许 iframe 内容被视为与包含文档有相同的来源。
3. sandbox="allow-top-navigation"
允许 iframe 内容从包含文档导航(加载)内容。
可用于禁用外部网站的JS跳转、target="_parent"、target="_top"等
4. sandbox="allow-forms"
允许表单提交。
5. sandbox="allow-scripts"
允许脚本执行,即允许iframe运行脚本(但不创建弹出窗口)。
可用于禁用外部网站的JS
6. sandbox="allow-popups"
允许弹出窗口(如window.open,target="_blank")。
5. sandbox="allow-scripts"
允许弹出窗口逃离沙箱:允许一个沙箱文件打开新窗口不强制使用沙盒。
实例
例如:此iframe只允许加载script,其他的全部限制。
<iframe width="930" height="630" sandbox="allow-scripts" src="http://www.baidu.com"></iframe>
遇到的问题:
iframe使用sandbox属性后,即使将所有值设为允许,页面中的flash也无法使用。