HTML 文档中的 <iframe> 元素
<iframe src="https://blog.5udou.cn/"></iframe>
| 属性 | 描述 |
|---|---|
| src | 嵌入网页内容的地址 |
| srcdoc | 网页要显示的内容 |
| name | 内嵌的浏览器内容的目标名称 |
| sandbox | 提供额外的限制 |
| allow | 指定特性策略 |
| allowfullscreen | 是否允许全凭显示 |
| width | 内嵌网页的宽度 |
| height | 内嵌网页的高度 |
| referrerpolicy | 指定获取资源时携带的 referer,默认是 no-referrer-when-downgrade(也就是协议降级时不发送 Referrer 信息) |
| loading | |
| contentWindow | 内嵌网页执行上下文的 window 对象 |
| contentDocument | 内嵌网页执行上下文的 document 对象 |
iframe 的沙箱模式可以提供一些额外的配置,当你把 iframe 置为沙箱的时候,意味着沙箱内的内容的行为 全凭你控制 了。
例如在 iframe 中设置:
<iframe sandbox src="http://127.0.0.1:3000/iframe1.html"></iframe>
框架文件将会被完全沙箱化,并有以下限制:
script 标签加载的 JavaScript 脚本文件,还包括内联事件处理程序和 javascript: URLs。这还意味着 noscript 标签中的内容会被显示,就像用户自己禁用了脚本一样cookie 或任何其他存储机制( DOM 存储、索引数据库等)中的数据window.open 或 target="blank")window.top.location 将抛出一个异常,点击带有 target="_top" 的链接将不起作用iframes 上忽略 seamless 属性文件被加载到一个完全沙箱化的 iframe 中,带来的风险非常小,但这是十分苛刻的。当然,这样做也没有太大的价值:对于一些静态内容,可以使用一个完整的沙箱,但大多数情况下,可以放宽松一些。
通过设置以下值控制:
allow-same-orign:允许将内容作为普通来源对待,否则会被设为来自一个独立的源allow-top-navigation:允许包含文档导航内容allow-forms:允许表单提交allow-scripts:允许脚本执行allow-modals:允许模态窗口allow-orientation-lock:允许锁定父窗口屏幕方向allow-pointer-lock:允许使用指针锁 APIallow-popups:允许弹出窗口allow-popups-to-escape-sandbox:允许弹出沙箱窗口allow-presentation:允许控制 Session”“:允许上述所有规则,默认iframe 的可见性,这会影响资源分配和函数的资源占用率iframe 的可见性iframe 为活动的 frame,对进程管理器如何划分优先级有影响iframe 是否为当前活动的 framesetInputMethodActive 设置当前浏览器 iframe 是活动的输入法编辑器窗口而其他不适 setNfcFocus参考资料: