我有一个包含按钮的小应用程序(localhost:55777)窗口。我正在另一个应用程序(localhost:3214)中以弹出窗口的形式打开此应用程序。
我希望在单击托管在 (localhost:55777) 的上述按钮时关闭弹出窗口(托管在 localhost:3214)。为此,我使用 window.postMessage() 并通过 addListener 处理消息事件。
完整的代码在这里:
应用程序 1(发件人) http://localhost:55777:
<button id="closeme" onclick="closeParent()">Close Parent</button>
Run Code Online (Sandbox Code Playgroud)
JS:
function closeParent() {
window.postMessage("closePopUp", "http://localhost:3214");
return false;
Run Code Online (Sandbox Code Playgroud)
}
应用程序 2(接收方):http://localhost:3214
JS:
function receiveMessage(event) {
if (event.data == 'close') {
alert("Message received");
}
}
addEventListener("message", receiveMessage, false);
Run Code Online (Sandbox Code Playgroud)
现在,当调用 postMessage 时,接收方永远不会命中方法。出现错误:
无法在“DOMWindow”上执行“postMessage”:提供的目标源(“ http://localhost:3214 ”)与收件人窗口的源(“ http://localhost:55777 ”)不匹配。
有人可以建议解决这个问题吗?我正在使用 jquery 和脚本类型。
| 归档时间: |
|
| 查看次数: |
2437 次 |
| 最近记录: |