2011-03-26 19 views
8

C'è un modo per chiamare una funzione nello script di sfondo dal popup? Non riesco a spiegarlo molto oltre questa domanda. Non è un errore che sto avendo con quello che sto cercando di fare, ma piuttosto qualcosa che non so come fare. Voglio rendere possibile fare clic su un pulsante nella pagina popup che chiamerà una funzione definita nella pagina di sfondo.Chiama una funzione in background dal popup

+0

Possibile duplicato di [Come comunicare tra popup.js e background.js nell'estensione chrome?] (Https://stackoverflow.com/questions/13546778/how-to-communicate-between-popup-js-and- background-js-in-chrome-extension) – JerryGoyal

risposta

11

In effetti è possibile utilizzare 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

Prova questa

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

Sapevo che potevo fare questo, avevo solo bisogno di trovare un esempio. Grazie. – Auspex

0

è comunque possibile utilizzare chrome.extension.sendMessage. Ma questo sta diventando deprecato. Utilizzare invece chrome.runtime.sendMessage e chrome.runtime.onMessage.addListener.

Problemi correlati