gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 17:12:22 25 4
gpt4 key购买 nike

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

我试过以下:

接收方的脚本,即 www.example.com 接收消息如下:

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

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);

});

当我尝试从 http://chat.example.com 发送消息时作为

window.postMessage("你好","http://www.example.com ");

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

最佳答案

不,它不会起作用。

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

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

关于javascript - 使用javascript中的postMessage函数将消息从一个域发送到另一个域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26741405/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com