Chrome扩展程序 - 从弹出窗口传递到内容脚本的消息

时间:2011-05-24 10:14:52

标签: javascript google-chrome google-chrome-extension messaging

我正在尝试将数据从弹出窗口传递到内容脚本,但我没有运气。我让它以相反的方式工作(内容 - > popup)。我想要做的就是将文本输入到弹出窗口中的输入中,然后单击一个提交按钮,将该文本插入到网页的dom中。

这就是我所拥有的:

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 个答案:

答案 0 :(得分:10)

您需要指定要发送到的标签。像这样:

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

如果你不知道哪个是标签,你可以发送给所有人(可能是一个坏主意)或者让标签首先发送信息。

有关详细信息,请查看此页:Message Passing