原生js--跨域消息传递
跨域消息传递:postMessage()
1、兼容性问题:IE8及其以上浏览器和其它主流浏览器都已经支持
2、使用范围:跨iframe、跨页面、跨域
3、使用方法:
发送消息:postMessage( data, scope ) data值需要传递的消息,scope指定发送给那些域
监听消息:使用事件监听方法监听(addEventListener/attachEvent)
之所以可以使用事件监听方法监听,是因为当调用postMessage方法时,会触发message事件,并传递给事件处理程序一个事件对象。
4、事件对象的属性:
data:传递的消息
source:消息源自的Window对象
origin:消息来源的URL(可以用于过滤需要的来源的数据,忽略不明来源的数据)