Есть ли способ вызвать функцию в фоновом режиме 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
.