Подтвердить что ты не робот

О chrome.tabs.executeScript(id, details, callback)

Эта функция имеет обратный вызов, например, function(array of any result) {...};

Но я не знаю, что означает результат.

Например,

chrome.tabs..executeScript(null,
   {code:"var x = 10"},
   function(){});

как вернуть x в обратный вызов?

4b9b3361

Ответ 1

Результат script - это последнее оцениваемое выражение. Поэтому в вашем примере вы можете использовать:

chrome.tabs.executeScript( null, {code:"var x = 10; x"},
   function(results){ console.log(results); } );

Это приведет к регистрации [10] на консоли расширения.

Результаты

на самом деле представляют собой массив значений, потому что, если на странице имеется более одного кадра, вы можете указать, что script должен быть введен в каждом из них и получить результат всех инъекций. См. Спецификацию executeScript. Если вы не укажете allFrames: true, тогда результаты всегда будут единственным массивом элементов.