1. 前言
- 上篇文章跨域总结
- 这篇来点不常见的方式
- img iframe script 来发送跨域请求的优缺点对比
2. 上表格
下面是使用表格形式列出 <img>
, <iframe>
, <script>
标签发送跨域请求的优缺点:
标签 | 优点 | 缺点 |
<img> |
- 简单易用 可以访问任何url,一般用来进行点击追踪,做页面分析常用的方法 | - 仅支持 GET 请求 |
- 不受同源策略限制,可以跨域访问图片资源 | - 无法获取完整的响应信息 | |
- 兼容性好 | 不能访问响应文本,只能监听是否响应 | |
<iframe> |
- 可加载不同域下的页面,实现页面间跨域通信 | - 需要处理跨域通信的安全性问题 |
- 可以使用 window.postMessage() 方法进行跨域通信 |
- 加载外部页面可能影响整体页面加载速度 | |
- 兼容性较好 | 若结果要以URL参数传递,这就意味着在结果数据量很大的时候需要分割传递,巨烦 | |
<script> |
- 可通过动态创建标签加载外部 JavaScript 文件 | - 仅支持 GET 请求或使用 JSONP 技术 |
- 可使用 JSONP 技术实现跨域数据获取 | - 需要服务器端支持 JSONP | |
- 兼容性好 |