Eva*_*oll 5 google-chrome-extension
我应该在什么时候使用镀铬连接?是否有充分的理由同时使用简单的消息传递和长期连接?这两者是否具有不同的性能影响?
除了http://code.google.com/chrome/extensions/messaging.html之外,还有其他任何文档可以比较这两种方法吗?
根据我编写扩展的个人经验,我倾向于使用sendMessage状态初始化,并在任何时候连接我想要重复发送的东西.
例如,我的扩展通常具有用户可配置的选项,我需要一种方法将这些选项发送到我的内容脚本.我使用sendMessage并将onMessageJSON对象传递给我的内容脚本.此对象包含各种用户控制的设置,也可能包含其他状态.
我还创建了一个小型库,允许在后台页面中定义键盘快捷键.工作原理很简单:每个页面都会注入一个内容脚本,然后监听keydown和调用keyup事件.
当事件发生时,它用于chrome.runtime.connect与后台页面通信.我认为这是一个很好的例子,说明长期连接比许多sendMessage调用更有用.
我认为没有什么要求你以这种或那种方式使用它们......你可以使用多个sendMessage或只用连接发送一条消息.我认为这更多的是语义问题,并选择哪种工具对工作最有意义.
另外请记住,使用connect可以轻松地为每个连接存储单独的状态,而这可能更难处理sendMessage.
至于性能......老实说我不知道,但我希望它们至少相似,即发送5 sendMessage将大致相当于发送5条带连接的消息.请记住它们是异步的,因此时间可能会根据具体情况而波动.
| 归档时间: |
|
| 查看次数: |
1642 次 |
| 最近记录: |