我正在尝试将数据从弹出窗口传递到内容脚本,但我没有运气。我让它以相反的方式工作(内容 - > 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);
答案 0 :(得分:10)
您需要指定要发送到的标签。像这样:
chrome.tabs.sendMessage(tab.id, {action:'start'}, function(response) {
console.log('Start action sent');
});
如果你不知道哪个是标签,你可以发送给所有人(可能是一个坏主意)或者让标签首先发送信息。
有关详细信息,请查看此页:Message Passing。