Вызвать функцию в фоновом режиме из всплывающего окна

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

Ответ 1

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

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

Ответ 2

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

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();
    }
);

Ответ 3

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

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

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

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

Ответ 4

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