messageEvent.js v0.2

messageEvent.js 可以让 IE6+ 浏览器拥有 html5 时代的双向跨域通讯能力

程序接口

绑定消息事件
add(callback)
messageEvent.add(function (event) {
	alert(event.data)
});

回调函数第一个参数接收 event 对象,它有几个有用的属性:

卸载消息事件
remove(callback)
messageEvent.remove(callback);
发送消息
postMessage(otherWindow, message, targetOrigin)
var iframe = document.getElementById('iframe');
messageEvent.postMessage(iframe.contentWindow, 'hello world', '*');

参数说明:

  1. otherWindow: {DOMWindow} 窗口
  2. message: {String, Object} 消息
  3. targetOrigin: {String} (可选) 限定URL接受消息, 默认 '*'

部署规范

1. 双方的页面统一引用 messageEvent.js

<script src="messageEvent.js"></script>

2. 双方拷贝 messageEvent-proxy.html 到页面所在域根的目录

如 app.planeart.cn 所在域的应用,访问地址应为:

http://app.planeart.cn/messageEvent-proxy.html
(messageEvent-proxy.html 是跨域代理,IE6、7需要使用它)

跨域测试例子

1. 开启本地测试服务器,复制 messageEvent-proxy.html 文件到根目录中

2. 使用浏览器打开 (IEtester无效)http://127.0.0.1/messageEvent/_test/

项目主页

http://code.google.com/p/message-event/

若有幸被您项目采用,期待您支付小额资金鼓励我 :)
https://me.alipay.com/planeart

Code license: GNU Lesser GPL
@tangbin - ©2011 planeArt.cn