2012-06-28 35 views
7

Tengo un simple plugin que simplemente hace algo como esto:chrome.extension.onMessage no está definido

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

por desgracia, cuando mi panel se carga el siguiente error se muestra:

TypeError: Cannot call method 'addListener' of undefined 

y de acuerdo para mis pruebas chrome.extension.onMessage es undefined

Debo acceder a esta API de Chrome de mi página para que h Como era de algo pequeño que me falta aquí ...

+1

Tengo el mismo problema que @ganoro – LooPer

Respuesta

3

Tenga en cuenta métodos chrome.extension.onRequest y chrome.extension.sendRequest, como se propuso inicialmente en esta respuesta, ya no son aprobadas para Chrome 33.


Debe utilizar

chrome.extension.onRequest 

en lugar de

chrome.extension.onMessage 

Y en la página de fondo o cualquier otros scripts de extensión:

chrome.tabs.sendRequest 

en lugar de

chrome.tabs.sendMessage 

(la documentación está anticuado ... alerta a equipo de Google;))

+1

chrome.extension.onMessage funciona en la versión 20 – LooPer

+0

, ¿cuál es la correcta? – FRD

+2

sendRequest y onRequest está en desuso. – Soviut

0

Sólo una nota al margen: el navegador Yandex (principalmente orientado para rusos) que también está basado en Chromium still (a partir del 10/11/2012, ver. 1.0) tiene los métodos de solicitud. * En lugar de. * Mensaje. Muchas gracias a Ciprian Amariei por el consejo, ¡me ha ahorrado mucho tiempo!

PD: Esto realmente debería ser un comentario para la respuesta de Ciprian Amariei, pero desafortunadamente no puedo dejar comentarios todavía y creo que esta información podría ser muy útil para aquellos que desarrollan extensiones para el navegador Yandex.

0

Asegúrese de estar utilizando la última versión de Google Chrome. Las versiones anteriores no tienen la API chrome.extension.onMessage.