Tag: postmessage

jQuery不支持postmessage事件?

当我使用jQuery事件侦听器来处理消息事件,如下所示: $(window).on('message', function(e) { var data = e.data; // data = undefined }); 数据是不确定的! 我确定我已经将数据传递给当前窗口。 因为如果我使用“addEventListener”,一切顺利! 所以有什么问题?

在IE10中,交叉源postMessage被破坏了吗?

我试图做一个微不足道的postMessage示例工作… 在IE10中 在窗口/选项卡之间(与iframes) 在起源之间 删除这些条件中的任何一个,并且事情工作正常:-) 但据我所知,当两个窗口共享一个原点时,窗口间postMessage只能在IE10中工作。 (事实上​​,也是奇怪的是,这种行为比这个稍微宽松一些:共享一个主机的两个不同的起源似乎也起作用)。 这是一个logging的错误? 任何解决方法或其他build议? (注: 这个问题涉及的问题,但其答案是关于IE8和IE9 – 不是10) 更多细节+例子… 启动页面演示 <!DOCTYPE html> <html> <script> window.addEventListener("message", function(e){ console.log("Received message: ", e); }, false); </script> <button onclick="window.open('http://jsbin.com/ameguj/1');"> Open new window </button> </html> 推出页面演示 <!DOCTYPE html> <html> <script> window.opener.postMessage("Ahoy!", "*"); </script> </html> 这工作在: http ://jsbin.com/ahuzir/1 – 因为这两个页面被托pipe在相同的来源(jsbin.com)。 但移动第二页在其他地方,并在IE10失败。

JavaScript的; 相同来源的标签/窗口之间的通信

我有两个窗口:窗口A和窗口B. 窗口A和窗口B具有相同的域 窗口A和窗口B没有任何父窗口。 问题: 窗口A是否有可能获得窗口B的引用? 什么是最优雅的方式使窗口A通知窗口B? (包括新的HTML5规范) 两种方式我知道这样做: 通过服务器发送消息:窗口B定期询问服务器,如果窗口A已经通知了某事 通过本地数据(HTML5)进行消息传递:当窗口A想要通知某些内容更改本地数据时,窗口B会定期检查本地数据是否有任何更改。 但是这两种方式并不那么优雅。 例如,获得窗口B的引用并使用window.postMessage()(HTML5) 最终的目标是做一些类似facebook的地方,如果你打开4个facebook标签并且在一个标签上聊天,那么在每个facebook标签中聊天都是最新的,这个标签是整洁的!