gpt4 book ai didi

google-chrome-app - 如何在同一个 Chrome 应用程序的多个窗口之间进行通信?

转载 作者:行者123 更新时间:2023-12-04 14:59:14 25 4
gpt4 key购买 nike

使用 chrome 开发人员工具时,似乎每个应用程序窗口(和背景“页面”)都有自己的 javascript 上下文(对象空间、执行线程),但 chrome.app.window.create 的 createdWindow 回调显然提供了直接访问刚刚创建的“其他”窗口的对象。

鉴于此,我不清楚在 Windows 之间进行通信的最佳方式;例如如果我打开第二个窗口作为对话框,当用户单击确定保存更改时,我应该使用 postMessage、sendMessage 还是只调用主窗口中对象的函数。我查看了消息示例,它们似乎专注于两个不同应用程序之间或应用程序和扩展程序之间的通信。

因此,我正在寻求对一个应用程序中的内存和执行模型的清晰描述。真的有独立的上下文,还是只是一个对象空间,一个执行线程?在同一 Chrome 应用程序的窗口之间进行通信的最佳方式是什么?

最佳答案

这是一个很好的问题詹姆斯!

多个 Chrome 窗口并不是完全独立的。它们共享一个线程和对象空间,但是每个窗口对象是不同的。在 javascript 中,在当前窗口上查找对事物的无作用域引用,因此这使窗口看起来是不同的对象空间 - 但实际上并非如此。

因此,您可以进入另一个窗口并在那里执行一个函数,或者以其他方式操作状态(例如,将另一个窗口上的变量设置为当前窗口中的一个函数),这是可以接受和支持的。

关于google-chrome-app - 如何在同一个 Chrome 应用程序的多个窗口之间进行通信?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20765870/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com