只是做一些简单的知识积累,初探!
HTML5标准下的postMessage
- postMessage可以实现跨文档消息传输(Cross Document Messageing).
- IE 8,FF3,Opera9,Chrome 3和Safari4多支持
- 可以通过绑定window的message事件来监听发生跨文档消息传输内容
- 也可以在同源策略中使用
- 可以根据Event.origin属性来过来不合法的域名传输的数据
document B
/* 绑定事件 */ if(typeof window.addEventListener != 'undefined'){ //非ie window.addEventListener('message',onmessage,false); }else if(typeof window.attachEvent != 'undefined'){ //ie window.attachEvent('onmessage',onmessage); }
function onmessage(e){ console.log(e.data); //e.data---信息 e.origin---跨域传的源 }
document A
/* 父页面内嵌iframe 找到一个iframe */ var o = document.getElementsByTagName('iframe')[0]; o.contentWindow.postMessage('Hello','parant');
postMessage的参数
- message ----传递过来的信息
- targetOrigin ----
- transfe
扩展阅读
http://www.whatwg.org/specs/web-apps/current-work/#dom-window-postmessage