清单 v3 上的 chrome.extension.onMessage.addListener 与 chrome.runtime.onMessage.addListener

Cub*_*Dev 5 google-chrome-extension

chrome.extension.onMessage.addListener()我应该在和之间使用清单 v3 的哪个函数chrome.runtime.onMessage.addListener()

谢谢。

小智 5

以下是如何使用清单 v3 添加消息侦听器。

chrome.runtime.onMessage.addListener( // this is the message listener
    function(request, sender, sendResponse) {
        if (request.message === "messageSent")
            runThisFunction();
    }
);
Run Code Online (Sandbox Code Playgroud)

要发送消息,取决于您是从内容脚本还是从后台脚本发送消息。

从内容脚本:

chrome.runtime.sendMessage({message: "messageSent"}, function (response) {
    console.log(response);
});
Run Code Online (Sandbox Code Playgroud)

从后台脚本:

chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
    chrome.tabs.sendMessage(tabs[0].id, 
        {
            message: "messageSent"
        }, function(response) {})
})
Run Code Online (Sandbox Code Playgroud)

这是官方文档的链接