Как я могу отправить запрос от фона к фону с помощью API расширений Chrome? - PullRequest
1 голос
/ 02 апреля 2011

Прямо сейчас я реализовал решение, создавая iframes на фоне, поэтому он обрабатывает запрос, но это очень ненадежное решение + перебор, у меня есть что-то около 400 файлов, каждый из которых использует метод sendRequest, я не могу объединитьих в один файл, потому что они загружаются загрузчиком зависимостей (архитектура Sub Sub), теперь есть другое решение, которое я уже сделал его пробным, используя MessageChannel & postMessage в фоновом режиме, но проблема в том, что для contentScript илимое определение frontstage, мне все еще нужно использовать chrome API для передачи сообщений между backstage и frontstage.

Как мне это решить? :)) 1003 *

1 Ответ

1 голос
/ 03 апреля 2011

Я думаю Я знаю, что вы имеете в виду. У вас есть несколько js-файлов, которые находятся на фоновой странице, и вы хотите, чтобы они sendRequest повторялись. Вы можете сделать это, не выполняя sendRequest s, а вызывая функцию. Вероятно, лучше с примером:

Вместо этого:

chrome.extension.onRequest.addListener(function(request, sender, respond)
{
    // bla bla handle request
});

А это:

chrome.extension.sendRequest({ message: "hello" }, function(response)
{
    // do something with response
});

Вы делаете это:

function handle_message(request, sender, respond)
{
    // bla bla handle request
}
chrome.extension.onRequest.addListener(handle_message);

А это:

handle_message({ message: "hello" }, function(response)
{
    // do something with response
});

Конечно, скрипты, которых нет на фоновой странице, все равно будут делать sendRequest с.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...