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

Chrome Extension - Message Passing from Popup to Content Script

本文关键字:脚本 消息传递 窗口 扩展 Chrome      更新时间:2023-09-26

我正试图将数据从弹出窗口传递到内容脚本,但运气不佳。不过,我让它以另一种方式工作(内容->弹出)。我想做的就是在弹出窗口中的输入中输入文本,然后单击提交按钮,将文本插入网页的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);

您需要指定发送到哪个选项卡

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

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

有关更多信息,请查看此页面:消息传递。