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