Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript中的postMessage函数将消息从一个域发送到另一个域_Javascript_Postmessage - Fatal编程技术网

使用javascript中的postMessage函数将消息从一个域发送到另一个域

使用javascript中的postMessage函数将消息从一个域发送到另一个域,javascript,postmessage,Javascript,Postmessage,如果我在一个浏览器中打开一个域chat.example.com,在另一个浏览器中打开www.example.com(跨域)。是否可以从www.abc.com向chat.abc.com发送消息 我尝试了以下几点: 接收方(即www.example.com)上接收消息的脚本如下所示: jqcc(文档).ready(函数(){ })) 当我尝试从as发送消息时 window.postMessage(“Hello”和“) 我在浏览器的控制台里什么都没有。请帮忙不,它不行 postMessageapi只能

如果我在一个浏览器中打开一个域chat.example.com,在另一个浏览器中打开www.example.com(跨域)。是否可以从www.abc.com向chat.abc.com发送消息

我尝试了以下几点:

接收方(即www.example.com)上接收消息的脚本如下所示:

jqcc(文档).ready(函数(){

}))

当我尝试从as发送消息时

window.postMessage(“Hello”和“)

我在浏览器的控制台里什么都没有。请帮忙

不,它不行

postMessage
api只能与iframe一起使用。您要做的是在
www.chat.example.com
内部打开一个iframe,指向
www.example.com
。然后,您可以使用
document.getElementById('iframe\u pointing\u to\u chat').contentWindow.postMessage('message','*')

现在,www.chat.example.com将通过onmessage处理程序接收消息

var eventMethod = window.addEventListener ? "addEventListener" : "attachEvent";
var eventer = window[eventMethod];
var messageEvent = eventMethod == "attachEvent" ? "onmessage" : "message";

// Listen to message from child window
eventer(messageEvent,function(e) {
if(e.data.indexOf("He") >= -1){
    console.log("Message Received:"+e.data);
}

},false);