2011-03-26 9 views
8

ポップアップからバックグラウンドスクリプトで関数を呼び出す方法はありますか?私はその質問よりもはるかに説明できません。私がやろうとしていることが、私がしているエラーではなく、むしろ、どうやってやるかわからないことです。バックグラウンドページで定義された関数を呼び出すポップアップページのボタンをクリックすることができます。ポップアップからバックグラウンドで関数を呼び出す

+0

[chrome拡張子のpopup.jsとbackground.js間の通信方法](https://stackoverflow.com/questions/13546778/how-to-communicate-between-popup-js-and- background-js-in-chrome-extension) – JerryGoyal

答えて

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

は、あなたはまだchrome.extension.sendMessageを使用することができ、この

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

私はこのことを知っていました。例を見つけるために必要でした。ありがとう。 – Auspex

0

を試してみてください。 しかし、廃止予定です。 代わりにchrome.runtime.sendMessagechrome.runtime.onMessage.addListenerを使用してください。