Расширение Chrome - передача сообщений из всплывающего окна в сценарий содержимого - PullRequest
12 голосов
/ 24 мая 2011

Я пытаюсь передать данные из всплывающего окна в скрипт контента, но мне не везет. Я получил его работать наоборот (контент -> всплывающее окно), хотя. Все, что я хочу сделать, это ввести текст в поле ввода, расположенное во всплывающем окне, и нажать кнопку отправки, которая вставит этот текст в область веб-страницы.

Вот что у меня есть:

popup.html

chrome.extension.sendRequest({action:'start'}, function(response) {
    console.log('Start action sent');  
});

contentscript.js

function startExtension() { console.log('Starting Extension'); }

function stopExtension() { console.log('Stopping Extension'); }

function onRequest(request, sender, sendResponse) {
    if (request.action == 'start')
        startExtension()
    else if (request.action == 'stop')
        stopExtension()
    sendResponse({});
}

chrome.extension.onRequest.addListener(onRequest);

1 Ответ

10 голосов
/ 24 мая 2011

Вам необходимо указать, на какую вкладку отправлять.Например:

chrome.tabs.sendMessage(tab.id, {action:'start'}, function(response) {
    console.log('Start action sent');
});

Если вы не знаете, что это за вкладка, вы можете либо отправить всем (возможно, плохая идея), либо сделать так, чтобы вкладка сначала отправляла информацию.

Длядополнительная информация на этой странице: Передача сообщений .

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