- iframe 中的字体 font-family 需要在 iframe 中自己使用font-face 定义,不能默认沿用父窗口的
- iframe 中的页面,如果想使用媒体查询
- 桌面端的 iframe 如果不设置viewport ,媒体查询默认以iframe自身宽高作为基准
- 移动端 的iframe 需要设置viewport,否则媒体查询可能以设备宽高为准,所以需要在iframe的页面中头部设置 <meta name="viewport" content="width=device-width, initail-scale=1" />
- iframe 中的页面,使用100vw 和100vh 是视口的宽高,也就是iframe本身的宽高,但是移动端ios safari浏览器可能会把地址栏高度计算在内,所以需要兼容。
- iframe 统一个域名,要想做到数据隔离,不共用 localstorage 需要增加 sandbox,不加 allow-same-origin
- 同源 iframe【协议名,域名,端口号完全相同】, 一个页面 A 使用 iframe 嵌入另一个页面B,二者共用localstorage,如果A清空了localstorage,B页面同样也是空的
- 非同源 iframe【sandbox不加 allow-same-origin或域名非同源】, 一个页面A使用iframe嵌入另一个页面B,页面B中存的 localstorage 除非手动清空,否则永远不会被自动清空
- iframe 和父页面 使用 postMessage 进行通信
- iframe.onload 在 iframe 内部所有资源加载完成后触发
- iframe.onerror 不会因为iframe内部资源加载失败而触发,onerror 在很多时候都不会触发,所以不要依赖它