Web是构建在同源策略基础之上,同源策略是浏览器的行为,是为了保护本地数据不被JavaScript代码获取回来的数据污染,因此拦截的是客户端发出的请求回来的数据接收,即请求发送了,服务器响应了,但是无法被浏览器接收。我们可以通过iframe来实现不同域之间互相请求资源。
同源
- 概念:协议相同、域名相同、端口相同
- 目的:保证用户信息的安全,防止用户数据泄露
- 限制范围:
- Cookie、LocalStorage、 IndexDB 无法读取
- Dom 无法获取
- AJAX 请求在浏览器端有跨域限制
iframe
基本属性
- src iframe地址
- name iframe名称
- width
- height
- frameborder 否显示框架周围的边框
- 1 有边框
- 0 无边框
- scrolling 是否在 iframe 中显示滚动条
- yes
- no
- auto
postMessage
postMessage是HTML5中新引入的API,该方法可以通过绑定window的message事件来实现跨窗口以及跨域的通信。
应用场景
- 页面和其打开的新窗口的数据传递
- 页面与嵌套的 iframe 进行消息传递
- 多窗口之间消息传递