2012-07-04 10 views
21

Sprawdzanie this sample extension połączoną stronę w Chrome Extension center, widzę używaliChrome Extensions - onRequest/sendRequest vs onMessage/sendMessage

chrome.extension.onRequest.addListener(onRequest); 

na stronie background.js aby słuchać contentscript.js i

chrome.extension.sendRequest({}, function(response) {}); 

w contentscript.js w celu porozmawiania ze stroną background.js.

Ale nie mogę znaleźć w dokumentacji tych funkcji gdziekolwiek na internecie i Google Message Passing guide wspomina tylko

chrome.extension.sendMessage(...) 

wysłać, a

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

słuchać.

Z jakich funkcji należy korzystać? Czy sendRequest/onRequest jest przestarzały? Czy przewodnik deweloperów Google jest wciąż aktualny?

Odpowiedz

20

Wydaje sendMessage jest faworyzowany przez sendRequest, który ma być nieaktualne: http://codereview.chromium.org/9965005/

+0

W końcu usunięty z chrome-21. – qMax

+3

Dzięki. Żałuję, że Google nie wspomniał o tym .. alas stackoverflow na ratunek jeszcze raz! – snapfractalpop

+0

Uznałem, że tak może być. Niestety to nieaktualne wywołanie API jest nadal używane w przykładach pobierania rozszerzeń chrome. – Jazzepi

7

Również zwrócić uwagę na zmiany w ścieżce API z

  • chrome.extension.onRequest
  • chrome.extension. sendRequest

na

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

pozwoli Ci zaoszczędzić sfrustrowany nad dlaczego np chrome.extension.onMessage nie działa!

Powiązane problemy