Chrome扩展程序 - onRequest / sendRequest vs onMessage / sendMessage

时间:2012-07-04 21:57:18

标签: javascript google-chrome google-chrome-extension

查看this sample extension中页面关联的Chrome Extension center,我看到他们使用了

chrome.extension.onRequest.addListener(onRequest);

在background.js页面中,以便收听contentscript.js和

  chrome.extension.sendRequest({}, function(response) {});
在contentscript.js中

以便与background.js页面交谈。

但是我无法在网络上的任何地方找到这些功能的文档,Google Message Passing guide仅提及

chrome.extension.sendMessage(...)

发送,

chrome.extension.onMessage.addListener(...)

倾听。

我应该使用哪些功能? sendRequest / onRequest是否已过时? Google的开发指南是否仍处于最新状态?

2 个答案:

答案 0 :(得分:20)

似乎sendMessage优于sendRequest,而不推荐使用http://codereview.chromium.org/9965005/

答案 1 :(得分:8)

另请注意来自

的API路径的更改
  • chrome.extension.onRequest
  • chrome.extension.sendRequest

  • chrome.runtime.onMessage
  • chrome.runtime.sendMessage

会让您对为什么感到沮丧chrome.extension.onMessage无效!