我正在尝试将数据从弹出窗口传递到内容脚本,但我没有任何运气。不过,我让它以另一种方式工作(内容 ->弹出窗口)。我想要做的就是将文本输入弹出窗口中的输入框,然后单击提交按钮,该按钮会将文本插入到网页的 dom 中。
这是我的:
弹出窗口
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);
最佳答案
您需要指定要发送到哪个选项卡。像这样:
chrome.tabs.sendMessage(tab.id, {action:'start'}, function(response) {
console.log('Start action sent');
});
如果您不知道哪个是标签,您可以发送给所有人(可能是个坏主意)或让标签先发送信息。
有关更多信息,请查看此页面:Message Passing .
关于javascript - Chrome 扩展 - 从弹出窗口到内容脚本的消息传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6108906/