2011-03-26 36 views
8

背景有沒有辦法來調用從彈出後臺腳本的功能?這個問題我無法解釋得更遠。這與我正在嘗試做的事情不是一個錯誤,而是我完全不知道該怎麼做的事情。我想讓點擊彈出頁面中的一個按鈕來調用後臺頁面中定義的功能。調用一個函數從彈出

+0

的可能的複製[如何在Chrome擴展popup.js和background.js之間的溝通?(https://stackoverflow.com/questions/13546778/how-to-communicate-between-popup-js-and-背景-JS-在鉻擴展) – JerryGoyal 2017-11-29 05:27:50

回答

11

這的確是可能的,使用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

試試這個

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

我知道我_could_做到這一點,只需要找到一個例子。謝謝。 – Auspex 2015-06-30 18:27:31

0

你仍然可以使用chrome.extension.sendMessage。 但是,這是越來越廢棄。 使用chrome.runtime.sendMessagechrome.runtime.onMessage.addListener代替。