Отправка запроса на загрузку popup.html в контентный скрипт в этом случае ничего не получает - PullRequest
0 голосов
/ 05 января 2012

Мое требование - всякий раз, когда я щелкаю по значку расширения, который должен отправить запрос в сценарий содержимого и который должен отправить ответ с требуемыми свойствами.Я могу отправить запрос.И когда я проверяю консольный контентный скрипт получает запрос и обрабатывает его. Но на стороне всплывающего окна я ничего не мог получить.
Вот обработчик запроса в скрипте контента

chrome.extension.onRequest.addListener(function ListeningMethod(request, sender, callback)
{
    switch(request.action)
    {
        case "QuestionProperties":
            sendResponse({attributes: {"h":"s","r":"t"} });
        break;
    }
});

И на popup.htmlЯ отправляю запрос вот так

$(document).ready(function(){
        chrome.tabs.getSelected(null, function(tab) {
            chrome.tabs.sendRequest(tab.id, {action: "QuestionProperties"}, function(response){
                alert('received something'); // Even this is not alerting
                                    var data = JSON.parse(response.attributes);
                alert(JSON.stringify(data)); // Here also I could not recieve anything.  At Contentscript side I have checked the response that is being sent. I am able to see the data. But at Popup side I am unable to recieve it. Please help me on this. 
            });
        });
 });

1 Ответ

1 голос
/ 05 января 2012

Ваш content_script не вызывает правильный метод для отправки ответа.Ваша функция слушателя называет это callback, но затем пытается использовать sendRequest.Вам также следует либо удалить имя функции, либо определить его вне addListener для ясности.

chrome.extension.onRequest.addListener(function(request, sender, callback)
{
    switch(request.action)
    {
        case "QuestionProperties":
            callback({attributes: {"h":"s","r":"t"} });
        break;
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...