Есть ли способ вызвать функцию в фоновом скрипте из всплывающего окна?Я не могу объяснить это намного дальше, чем этот вопрос.У меня не ошибка с тем, что я пытаюсь сделать, а то, что я совершенно не знаю, как это сделать.Я хочу, чтобы на всплывающей странице можно было нажать кнопку, которая вызовет функцию, определенную на фоновой странице.
Попробуйте это
var bgPage = chrome.extension.getBackgroundPage(); var dat = bgPage.paste(); // Here paste() is a function that returns value.
Это действительно возможно, используя Передача сообщений .
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(); } );
Вы можете просто вызывать функции background.js в popup.js.Вам не нужно делать ничего лишнего.По крайней мере, для меня это так.
Редактировать: вам, вероятно, нужно добавить
"background": { "scripts": "background.js" }
в ваш файл manifest.json.
Вы все еще можете использовать chrome.extension.sendMessage. Но это становится устаревшим. Вместо этого используйте chrome.runtime.sendMessage и chrome.runtime.onMessage.addListener.
chrome.extension.sendMessage
chrome.runtime.sendMessage
chrome.runtime.onMessage.addListener