【发布时间】:2014-01-12 23:45:45
【问题描述】:
在使用 chrome 开发者工具时,似乎每个应用程序窗口(以及背景“页面”)都有自己的 javascript 上下文(对象空间、执行线程),以及 chrome.app.window 的 createdWindow 回调。 create 显然提供了对刚刚创建的“其他”窗口的对象的直接访问。
鉴于此,我不清楚在窗口之间进行通信的最佳方式;例如如果我打开第二个窗口作为对话框,当用户单击确定保存更改时,我应该使用 postMessage、sendMessage 还是只在主窗口中的对象上调用函数。我查看了消息传递示例,它们似乎专注于两个不同应用程序之间或一个应用程序和一个扩展程序之间的通信。
因此,我正在寻求一个应用程序中内存和执行模型的清晰描述。是否真的存在单独的上下文,或者它只是一个对象空间,一个执行线程?在同一个 Chrome 应用的窗口之间进行通信的最佳方式是什么?
【问题讨论】: