2011-03-26 9 views
8

¿Hay alguna manera de invocar una función en el script de fondo desde la ventana emergente? No puedo explicarlo mucho más que esa pregunta. No es un error que estoy teniendo con lo que trato de hacer, sino algo que no sé por completo. Quiero hacer posible hacer clic en un botón en la página emergente que llamará a una función definida en la página de fondo.Llamar a una función en el fondo de la ventana emergente

+0

Posible duplicado de [¿Cómo comunicarse entre popup.js y background.js en la extensión de Chrome?] (Https://stackoverflow.com/questions/13546778/how-to-communicate-between-popup-js-and- background-js-in-chrome-extension) – JerryGoyal

Respuesta

11

De hecho es posible, usando Message Passing.

popup.js

$("#button").click(function(){ 
    chrome.extension.sendMessage({ msg: "startFunc" }); 
}); 

background.js

var func = function(){ 
    alert("Success!"); 
}; 

chrome.extension.onMessage.addListener(
    function(request, sender, sendResponse){ 
     if(request.msg == "startFunc") func(); 
    } 
); 
21

Prueba este

var bgPage = chrome.extension.getBackgroundPage(); 
var dat = bgPage.paste(); // Here paste() is a function that returns value. 
+0

Sabía que podía hacer esto, solo necesitaba encontrar un ejemplo. Gracias. – Auspex

0

puede seguir utilizando chrome.extension.sendMessage. Pero eso se está desaprobando. Use chrome.runtime.sendMessage y chrome.runtime.onMessage.addListener en su lugar.

Cuestiones relacionadas