postMessage 是 HTML5 新方法,它可以实现跨域窗口之间通讯。到目前为止,只有 IE8+, Firefox 3, Opera 9, Chrome 3和 Safari 4 支持,而本篇文章主要讲述 postMessage 方法与 message 事件跨浏览器实现。
postMessage 方法 JSONP 技术不一样,前者是前端擅长跨域文档数据即时通讯,后者擅长针对跨域服务端数据通讯,postMessage 应用场景能说明这个区别:
应用场景举例
-
webOS 使用 iframe 嵌入第三方应用,此时 webOS 与应用需要实时接收/发送各自的消息与响应事件。
-
页面弹出一个由 iframe 层,嵌入第三方提供的图片上传页面,文件上传完毕后需要获取返回图片地址插入到编辑器。
-
iframe 跨域高度自适应。精心开发5年的UI前端框架!
HTML5 postMessage 方法
postMessage 可以实现跨域文档的消息传输(Cross Document Messaging)。
向外界窗口发送消息:
otherWindow.postMessage(message, targetOrigin);

本文详细介绍了HTML5的postMessage方法和message事件,用于跨域窗口间通信。文章还讨论了在低版本浏览器中的模拟实现策略,并推荐了一个开源库messageEvent.js,用于统一不同浏览器的message事件处理。此外,文章提到了jQuery的使用,以及如何通过messageEvent.js解决jQuery事件绑定中的数据冲突问题。
最低0.47元/天 解锁文章
2128

被折叠的 条评论
为什么被折叠?



