跨域的实现方法有哪几种?

1、通过IFRAME
2、通过JSONP
3、设置http头,Access-Control-Allow-Origin:*
4、服务器代理
5、nginx反向代理实现跨域

还有补充的吗?

阅读 4.7k
6 个回答

肿么能没有PHP强大的工具类,curl.用这个来实现多完美的

window.name

设置Access-Control-Allow-Origin:* 应该就属于CORS

使用window.navigator进行跨域
此方案只可以在ie6、ie7中使用
因为在ie6、ie7下有个bug。就是父页面和子页面的navigator是共享的。

一般的解决方案 是postMessagewindow.namewindow.navigator

postMessage是在标准浏览器中使用。
window.namewindow.navigator是在ie中使用,但是window.name实现的必须定时检查name是否改变,而navigator则不存在这种情况。

feature detection 优先级为 postMessage、navigator、name.

见下图:

clipboard.png

主流有cors,HTML5的postmessage,josnp,还可以服务器代理

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题