#javascript #google-chrome #popup
#javascript #google-chrome #всплывающее окно
Вопрос:
У меня есть всплывающее окно с именем mf_popup.html
, и моя фоновая страница называется mf_background.html
.
При запуске браузера запускается моя фоновая страница (насколько я понимаю, я новичок в разработке Chrome), и я хотел бы вызвать функцию на моей mf_popup.html
странице со своей фоновой страницы.
Например:
Start chrome
background page fires
background page calls some function in popup page (which initiates some stuff)
Как мне сделать вышеописанное?
Ответ №1:
если вы разместите необходимый код в обоих html-файлах в mf_javascript.js и включает скрипт в оба с помощью этой строки:
<script type="text/javascript" src="mf_javascript.js">
Комментарии:
1. Так просто! Иногда так легко пропустить лес из-за всех деревьев на пути
Спасибо за вашу помощь
2. Как насчет передачи сообщений? Разве это не должно быть стандартом?
Ответ №2:
mf_popup.html
//sendRequest([any type] request, [function] responseCallback)
chrome.extension.sendRequest({
function: "foo",
params: [myParam1, myParam2],
function(response) {
alert("foo returns:" response.result ");
}
});
mf_background.html
chrome.extension.onRequest.addListener(
function(request, sender, sendResponse) {
if(request.function == "foo")
var bar = foo(request.params[0], request.params[1]);
sendResponse({result: bar});
}
);
Вы также могли бы просто использовать sendRequest («foo»), если вы не хотите отправлять какие-либо параметры и / или использовать функцию обратного вызова.