Chr*_*phe 5 javascript postmessage cross-domain cors
CORS和跨域消息传递对我来说看起来是一样的:它们允许跨域通信.
是否有任何理由使用一个与另一个?
Esa*_*ija 10
CORS用于闪存通常不允许的ajax请求或闪存请求.例如,如果域x没有跨域策略,并且您通过闪存从那里检索mp3文件进行播放,则flash不允许您读取mp3文件的id3标签.对于ajax,如果目标服务器没有允许您的域发出请求的跨域策略,则您无法发出请求.
跨域消息传递允许您与来自不同来源的文档中的iframe进行通信.例如,如果您有youtube视频iframe,则可以将消息传递给该iframe以更改音量.通常不会进行任何通信,因为iframe具有不同的来源,因此您无法以编程方式对youtube iframe执行任何操作.
现在应该清楚使用这一个或另一个的原因.CORS允许您在主窗口和iframe之间传递消息时使用来自其他来源的数据,当您想要与iframe内部但不在同一来源的应用程序进行通信时.
一个实际的例子:
你有一个拥有youtube播放器的iframe.
2.你要求从youtube数据api播放一些视频(CORS,可能是JSONP,XHR或其他).
3.您现在将跨域邮件传递给iframe,以开始播放您在步骤2中请求的任何视频