从chrome扩展向chrome应用程序发送消息

Send message from chrome extension to chrome app

本文关键字:chrome 消息 扩展 应用程序      更新时间:2023-09-26

我正在为chrome开发一个测试应用程序。

我还在开发一个扩展,它应该得到tab url,并向应用程序发送一条消息,其中包含激活扩展的选项卡的url。

在分机中,我有这个background.js

chrome.browserAction.onClicked.addListener(function(tab) {
    alert(tab.url);
});

tab.url信息是正确的,我需要发送到应用程序(也在javascript中)。

我在网上读过很多例子,但有一点我不明白。我应该如何发布消息,以及如何在应用程序上收听该消息?

消息传递文档有一个明确的示例。

扩展码:

chrome.browserAction.onClicked.addListener(function(tab) {
    chrome.runtime.sendMessage("appIdHere", {tabUrl: tab.url});
});

应用程序代码:

chrome.runtime.onMessageExternal.addListener(
    function(message, sender, sendResponse) {
        // Check the ID! Requests may be spoofed.
        if(sender.id == "extensionIdHere" && message.tabUrl) {
            doStuff(message.tabUrl);
        }
    }
}