передача сообщений расширений Chrome - PullRequest
0 голосов
/ 18 июня 2011

Я пытаюсь разработать (на данный момент!) Простое расширение Chrome, используя API обмена сообщениями.

Мой контентскрипт запросит на фоновой странице его URL и дождется фонового ответа. Однако мой контент никогда не получит ответа. Зачем? Спасибо за ваш ответ.

content_script.js

<code>
/**
 * Retrieve the url or the page currently visited.
 */
 chrome.extension.sendRequest({'action' : 'getUrl'}, function(response) {
    alert(response.url);
 });

background.html


...
                
   function onRequest(request, sender, callback) {  
      sendResponse({'url' : sender.tab.url});                       
   };

   chrome.extension.onRequest.addListener(onRequest);                     

1 Ответ

1 голос
/ 18 июня 2011

Ваша функция onRequest имеет последний параметр с именем callback, но вы вызываете sendResponse. Предполагая, что именно так выглядит ваш реальный код, вам нужно сделать два имени одинаковыми. Если вы просматриваете фоновую страницу в инструментах разработчика, вы должны увидеть исключение JavaScript о том, что sendResponse не определено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...