А как вот тут сделать:
function GetHttpRequest(href, arg) // Get запрос на url
{
var xhr = new XMLHttpRequest()
xhr.withCredentials = true
xhr.onreadystatechange = function(e)
{
e.data = arg
ProcessRequestChange.apply(this, arguments) // Обработчик
}
xhr.open('GET', href, true)
xhr.send(null)
}
chrome.runtime.onMessage.addListener // Отлов сообщений от контент скриптов
(
function(req, sender, resp)
{
switch(req.msgId) // Ид сообщения
{
case 1: // Некое действие
{
GetHttpRequest(req.href, {reqId: req.reqId, respId: req.respId, response: resp})
return true
}
}
return false
}
)
req - это массив аргументов мессаги, я так понял.
resp - функция, отправляющая ответ на мессагу.
Нужно передать и аргументы, и функцию(ответ на мессагу будет отправлен позже).
Так уже не прокатит, видимо:
GetHttpRequest(req.href, req, resp)
Может можно в массив аргументов впихнуть и функцию?
Типа такого:
req.resp = resp
GetHttpRequest(req.href, req)