Показать сообщение отдельно
  #1 (permalink)  
Старый 26.04.2017, 10:23
Профессор
Отправить личное сообщение для Артист Посмотреть профиль Найти все сообщения от Артист
 
Регистрация: 25.09.2016
Сообщений: 163

Передача массива аргументов
Есть скрипт, подключаемый к странице, есть скрипт приложения(фоновый).
Общаются они посредством chrome.runtime.sendMessage.

Вот например я отправляю мессагу в фоновый скрипт, с 2мя параметрами:
function smCalback(response) // Обработчик ответов на сообщения
{
    alert('Ответ ' + response.respId)   
}
 
chrome.runtime.sendMessage({msgId: 1, respId: 111}, smCalback) // Отправка сообщения


А это в фоновом скрипте, принимает сообщения, и отвечает на них.
chrome.runtime.onMessage.addListener // Отлов сообщений от контент скриптов
(
    function(req, sender, resp)
    {
        switch(req.msgId) // Ид сообщения
        {
            case 1: // Некое действие
            {
                resp({respId: req.respId}) // Ответ на сообщение
                break
            }
        }
        return false
    }
)


Так вот, как мне передать все параметры в ответе на сообщение, которые были у сообщения?
Т.е. чтобы не писать их вот так:
{respId: req.respId}


Конечно это всего лишь пример, на самом деле мне параметры нужно передавать в функции...

Гуглил конечно:
function sayHi()
{
    for (var i = 0; i < arguments.length; i++)
    {
        alert( "Привет, " + arguments[i] );
    }
}
 
sayHi("Винни", "Пятачок"); // 'Привет, Винни', 'Привет, Пятачок'


Но не понял нифига, мне перебирать не нужно, я же аргументы подписываю...
Ответить с цитированием