gpt4 book ai didi

google-chrome-extension - Chrome 扩展程序 : simple message passing vs chrome connection

转载 作者:行者123 更新时间:2023-12-04 17:58:26 24 4
gpt4 key购买 nike

我应该在什么时候使用 chrome 连接?是否有充分的理由同时使用简单的消息传递和长期连接?这两者有不同的性能影响吗?

除了http://code.google.com/chrome/extensions/messaging.html 还有其他文档吗?比较这两种方法?

(编辑:文档移至 https://developer.chrome.com/extensions/messaging )

最佳答案

根据我个人编写扩展的经验,我倾向于使用 sendMessage用于状态初始化,并在我想重复发送内容的任何时间进行连接。

例如,我的扩展通常具有用户可配置的选项,我需要一种将这些选项发送到我的内容脚本的方法。我用 sendMessageonMessage将 JSON 对象传递给我的内容脚本。此对象包含各种用户控制的设置,以及可能的其他状态。

我还创建了一个小型库,允许在后台页面中定义键盘快捷键。它的工作原理很简单:将内容脚本注入(inject)每个页面,然后监听 keydownkeyup事件。

当事件发生时,它使用 chrome.runtime.connect与后台页面进行通信。我认为这是一个很好的例子,说明长期连接比许多 sendMessage 更有用。来电。

我认为没有什么要求您以一种或另一种方式使用它们...您可以使用多个 sendMessage或仅使用连接发送一条消息。我相信这更多的是语义问题,以及选择哪种工具最适合这项工作。

还要记住,使用 connect 可以很容易地为每个连接存储单独的状态,而使用 sendMessage 可能会有点困难。 .

至于性能......老实说,我不知道,但我希望它们至少是相似的,即发送 5 sendMessage大致相当于使用 connect 发送 5 条消息。请记住,它们是异步的,因此时间可能会根据情况而波动。

关于google-chrome-extension - Chrome 扩展程序 : simple message passing vs chrome connection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3799249/

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