从网络应用向Chrome扩展程序发送消息

时间:2019-09-03 11:56:40

标签: angular google-chrome google-chrome-extension chrome-runtime

我正在从我的角度网络应用程序向chrome扩展程序发送一些数据。我正在使用此代码:

chrome.runtime.sendMessage(extensionId,
{
    data: { name: name }
});

该代码应该在我登录我的角度应用程序时将一些数据发送到chrome扩展程序。 此方法有效,但仅在扩展名在登录时打开的情况下。

在单击登录之前,如果我打开扩展名并单击检查,然后登录到我的角度应用程序,则消息传递有效。但是,如果我不打开扩展名,然后单击登录,然后再检查扩展名,则不会显示相关数据。

任何人都可以告诉我为什么会发生或我想念什么。

这是我捕获chrome extn中传递的消息的方式:

chrome.runtime.onMessageExternal.addListener(
    function (request, sender, sendResponse) {
        var email = request.data.name;
        console.log(email);
});

仅当我在扩展名打开时登录时,此控制台日志才起作用。

任何建议都将受到欢迎。

1 个答案:

答案 0 :(得分:0)

@wOxxOm建议,在将chrome.runtime.onMessageExternal.addListener添加到后台js的开头之后,它现在可以正常工作。