Javascript 如何在同一chrome应用程序的多个窗口之间通信
我有一个打包的chrome应用程序,有多个窗口。例如,如果我单击第一个窗口中的按钮,则会打开第二个窗口。现在了解如何互相发送消息或命令。 我已经读了很多关于它的书,但没有弄明白,因为我对这一点非常陌生。 任何示例代码都将非常有用 存在一个问题,但不知道如何解决Javascript 如何在同一chrome应用程序的多个窗口之间通信,javascript,google-chrome,google-chrome-app,Javascript,Google Chrome,Google Chrome App,我有一个打包的chrome应用程序,有多个窗口。例如,如果我单击第一个窗口中的按钮,则会打开第二个窗口。现在了解如何互相发送消息或命令。 我已经读了很多关于它的书,但没有弄明白,因为我对这一点非常陌生。 任何示例代码都将非常有用 存在一个问题,但不知道如何解决 提前感谢 您可以使用一个窗口的postmessage方法将信息发送到另一个窗口。通过采用这种方法,您可以从不同窗口(B)上的窗口(a)执行方法。您需要在窗口B上创建一个事件,通知A方法正确运行 代码类似于: 发件人: 目的地: 您还可以在
提前感谢 您可以使用一个窗口的postmessage方法将信息发送到另一个窗口。通过采用这种方法,您可以从不同窗口(B)上的窗口(a)执行方法。您需要在窗口B上创建一个事件,通知A方法正确运行 代码类似于: 发件人: 目的地:
您还可以在此处找到部门内的解释:对于Chrome应用程序,不需要关于域的部分 你需要的是:
targetWindow = chrome.app.window.get("window-id").contentWindow;
targetWindow.postMessage(message, "*");
要发送消息,同时接收,请执行以下操作:
window.addEventListener('message', function(event) {
var windowId = chrome.app.window.current().id;
console.log(windowId + ': received a message: ' + event.data, event);
var message = 'hello back!';
console.log(windowId + ': sending message: ' + message);
event.source.postMessage(message, event.origin);
});
targetWindow = chrome.app.window.get("window-id").contentWindow;
targetWindow.postMessage(message, "*");
window.addEventListener('message', function(event) {
var windowId = chrome.app.window.current().id;
console.log(windowId + ': received a message: ' + event.data, event);
var message = 'hello back!';
console.log(windowId + ': sending message: ' + message);
event.source.postMessage(message, event.origin);
});