MessengerJS
MessengerJS copied to clipboard
A common solution for cross-document communication .
报错msg.split is not a function
平时不用postMessage,主要考虑到的是postMessage发送到其他域信息如果被存储下来,其他页可以onmessage全盘接收保存,不太安全,是否可以在发送一次消息后,获取当前域名,下次发送时,直接指定域名呢,毕竟指定了iframe的名称,通过名称map映射到对应的origin,存储origin再返回给发送发,下次发送时自动带上?更或者初始化target时,自动就做一下origin映射,是否可以?
为什么官方demo在真实的IE7下 无法通信,求解!!!
请问这个支持iframe元素向父元素通信吗?
这个有办法支持ie5吗?以前的老系统,需要扩展,无奈啊。。。 大神,有没有办法?
```js msg.split('__Messenger__'); ``` 如果msg.data是空字符串,msg.split会报错
IE8+: this.target.postMessage(this.prefix + '|' + this.name + '__Messenger__' + msg, '*'); ie6\7 targetFunc(this.prefix + msg, window); 应改为: //原版这里有个BUG,按照ie8+以及现代浏览器的消息格式传入 targetFunc(this.prefix + '|' + this.name + '__Messenger__' + msg, window);
这个和store.js简直就绝配,比鬼道写的那个设计好
通读源码后发现51行bug,ie6/ie7下也需要补齐消息前缀才能正常工作,否则与第90因为无法正确分离出前缀和名称,导致相关事件无法派发。经过win32虚拟机真实环境的ie6/7测试均通过,而未修改前则无法工作。