2012-02-09 3 views
2

Я пытаюсь связать фоновую страницу со всплывающим окном в расширении google chrome.Расширение Chrome: отправка запроса с фоновой страницы на всплывающее окно

Мне удалось заставить его работать наоборот, но по какой-то причине он не работает сейчас.

// background.html 
chrome.tabs.getSelected(null, function(tab) { 
     chrome.tabs.sendRequest(tab.id, { 
      method: 'countDown', 
      seconds: seconds, 
      id: id 
     }, function(response) { 
      console.log(response.farewell); 
     }); 
    }); 

// popup.html 
chrome.extension.onRequest.addListener(function(request, sender, sendResponse) { 
     console.log('request from background'); 

     if(request.method == 'countDown') { 
      console.log(request.seconds); 

      //countDown(request.id); 
     } 

     sendResponse({}); 
    }); 

Права доступа (фон, вкладки), но кажется, что фон не отправляет запрос.

ответ

1

Ваш код выполняет chrome.tabs.sendRequest, который используется для связи со сценарием контента, который был введен на вкладку. Если вы хотите общаться с всплывающим окном вашего расширения, вместо этого используйте chrome.extension.sendRequest.

+0

Ничего себе, это работает. Не знаю, почему я использовал chrome.tabs, возможно, документация немного запуталась. Http://code.google.com/chrome/extensions/messaging.html –

+0

Можете ли вы подать запрос по адресу http://new.crbug.com/отмечая путаницу? Если есть что-то простое, мы можем добавить к этой странице, что сделает этот случай использования понятным, я рад это сделать. –

+0

Это, наверное, не совсем сбивает с толку, я просто неверно истолковал документацию. –

Смежные вопросы