2012-06-28 20 views
7

Ho un semplice plugin che fa proprio qualcosa di simile:chrome.extension.onMessage è indefinito

chrome.extension.onMessage.addListener(function(msg, _, sendResponse) { 
    log("Got message from background page: " + msg); 
}); 

purtroppo quando il mio pannello viene caricato il seguente errore viene mostrato:

TypeError: Cannot call method 'addListener' of undefined 

e secondo ai miei test chrome.extension.onMessage è undefined

In base a questa pagina http://code.google.com/chrome/extensions/messaging.html Dovrei poter accedere a questa API di cromo dalla mia pagina in modo da da essere qualcosa di piccolo che mi manca qui ...

+1

Ho lo stesso problema di @ganoro – LooPer

risposta

3

Si prega di notare metodi chrome.extension.onRequest e chrome.extension.sendRequest, come originariamente suggerito in questa risposta, sono obsoleti come di Chrome 33.


Si dovrebbe usare

chrome.extension.onRequest 

invece di

chrome.extension.onMessage 

E lo sfondo della pagina o di qualsiasi altro script di estensione:

chrome.tabs.sendRequest 

invece di

chrome.tabs.sendMessage 

(la documentazione è obsoleto ... attenti a google squadra;))

+1

chrome.extension.onMessage funziona nella versione 20 – LooPer

+0

quindi qual è quella giusta? – FRD

+2

sendRequest e onRequest sono deprecati. – Soviut

0

Solo un nota a margine: il browser Yandex (principalmente orientato per i russi) che è anche basato su Chromium ancora (a partire dall'11/10/2012, ver. 1.0) ha i metodi di richiesta. * Invece di. * Messaggio. Mille grazie a Ciprian Amariei per il suggerimento, mi ha fatto risparmiare un sacco di tempo!

PS: Questo in realtà dovrebbe essere un commento alla risposta di Ciprian Amariei, ma sfortunatamente non posso ancora lasciare commenti e penso che queste informazioni possano essere molto utili a chi sviluppa estensioni per il browser Yandex.

0

Assicurati di utilizzare la versione più recente di Google Chrome. Le versioni precedenti non hanno l'API chrome.extension.onMessage.