Вызов функции в фоновом режиме из всплывающего окна - PullRequest
10 голосов
/ 26 марта 2011

Есть ли способ вызвать функцию в фоновом скрипте из всплывающего окна?Я не могу объяснить это намного дальше, чем этот вопрос.У меня не ошибка с тем, что я пытаюсь сделать, а то, что я совершенно не знаю, как это сделать.Я хочу, чтобы на всплывающей странице можно было нажать кнопку, которая вызовет функцию, определенную на фоновой странице.

Ответы [ 4 ]

23 голосов
/ 21 декабря 2011

Попробуйте это

 var bgPage = chrome.extension.getBackgroundPage();
 var dat =  bgPage.paste(); // Here paste() is a function that returns value.
12 голосов
/ 27 марта 2011

Это действительно возможно, используя Передача сообщений .

popup.js

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

background.js

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

chrome.runtime.onMessage.addListener(
    function(request, sender, sendResponse){
        if(request.msg == "startFunc") func();
    }
);
1 голос
/ 28 сентября 2018

Вы можете просто вызывать функции background.js в popup.js.Вам не нужно делать ничего лишнего.По крайней мере, для меня это так.

Редактировать: вам, вероятно, нужно добавить

"background": { "scripts": "background.js" }

в ваш файл manifest.json.

0 голосов
/ 29 ноября 2017

Вы все еще можете использовать chrome.extension.sendMessage. Но это становится устаревшим. Вместо этого используйте chrome.runtime.sendMessage и chrome.runtime.onMessage.addListener.

...