Не сомневайтесь в том, как передача сообщений работает в Chrome с использованием содержимого.Я изменил пример по умолчанию (http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/docs/examples/api/messaging/timer/) для передачи сообщений, указанной в документации chromium, на тот, который выглядит ниже:
popup.html
function testRequest() {
chrome.tabs.getSelected(null, function(tab) {
chrome.tabs.sendRequest(tab.id, {counter: "getHTML"}, function handler(response) {
alert("Inside Client = "+response.counter2);
});
});
}
, и мой скрипт содержимого выглядитнапример:
page.js
chrome.extension.onRequest.addListener(
function(request, sender, sendResponse) {
alert(request.counter);
alert("Inside server .. Req Counter = "+request.counter);
sendResponse({counter2: "5"});
});
Когда я выполняю testRequest из popup.html, скрипт контента вызывается, как и ожидалось. Я получаю оба оповещения, которые я объявил с помощьюих соответствующие значения. Но мой код ответа popup.html, по-видимому, не вызывается .. Предупреждение, которое есть внутри popup.html - alert("Inside Client = "+response.counter2);
, не выполняется.
С другой стороны, если у меня естьточка отладки внутри клиента, она работает! Какая-то странная .. Может кто-нибудь сказать мне, как и почему это происходит?
Заранее спасибо ..