Я хочу запустить сценарий содержимого, чтобы определить первое изображение, которое куда-то ссылается, и вернуть ссылку фоновому сценарию. Но я не могу передавать сообщения между ними, и я не знаю, почему. Большая часть кода является комментарием, я пытаюсь просто проверить, выполняется ли сценарий контента, сказав ему изменить первый заголовок на «тест» (поскольку единственное, что я могу сделать без сообщений, — это изменить HTML и CSS страницы) . Код следует: РЕДАКТИРОВАТЬ: полный обновленный код
Фоновый скрипт:
chrome.browserAction.onClicked.addListener(function () {
chrome.tabs.query({active:true, currentWindow:true}, function(tabs)
{
chrome.tabs.executeScript(tabs[0].id, {file:"content.js"}, function ()
{
console.log("sending first time");
console.log(tabs[0].id);
chrome.tabs.sendMessage(tabs[0].id,{test: "test"}, function (response)
{
if (undefined == response)
{
console.log ("first one didn't work");
chrome.tabs.sendMessage(tabs[0].id, {test: "test"}, function (response)
{
console.log(response.test);
});
}
});
});
});
});
Скрипт контента:
chrome.runtime.onMessage.addListener( function (msg, sender, sendResponse)
{
/*var test1 = document.getElementsByTagName("h1")[0];
test1.innerHTML="test";*/
sendReponse({test: "123"});
/*var parentList =document.getElementsByTagName("a");
var link = "";
var child;
for (var i=2; i<parentList.length;i++)
{
child=parentList[i].firstChild;
if ("IMG"==child.nodeName)
{
link=parentList[i].href;
break;
}
}
teste1.innerHTML=link;
var answer = new Object();
Answer.link = link;
teste1.innerHTML=answer.link;
sendResponse({messager:answer});*/
});
The argument should be any JSON-ifiable object
. Попробуйте отправить объект - person levi   schedule 16.02.2014