我有两个html页面,每个页面都在端口上本地提供(8000& 9000): - 一个打开一个新选项卡并向其发送一条消息:
window.addEventListener("message", function(ev) {
console.log(ev);
});
var authWindow = window.open('http://local-ip:9000');
setTimeout(function () {
authWindow.postMessage("requestCr", "*");
}, 500);
另一个等待直到原始帖子的消息然后用对象响应然后关闭
window.addEventListener("message", function(ev) {
// this page must respond to "requestCr"
if (ev.data === "requestCr") {
ev.source.postMessage({"first_name": "jorge", "last_name": "willow"}, '*');
// close window after message is sent
window.close();
}
});
这个脚本在现代桌面浏览器中运行良好,但在Ios Safari中,它的接缝就像原始窗口一样,setTimeout在焦点上不会触发。 即使它不在焦点上,任何解决第一个窗口发布消息的工作? 提前致谢