弹出脚本复制后台脚本网络活动-Chrome扩展程序

时间:2019-04-25 10:31:06

标签: javascript reactjs google-chrome-extension

我使用React构建一个Chrome扩展程序,并使用WebPack进行构建。我有3个输出文件,背景,内容和弹出窗口。

在注入的内容脚本中,我有一个执行以下操作的函数:

chrome.runtime.sendMessage({action: "getDesigns", name: $}, (response) => {
    if (response.error) throw(response.error);
    this.setState({
        designs: response.data.designs,
        fetching: false,
        selectedFile: null
    })
});

在我的后台脚本中,我有一个该动作的侦听器,并在触发时调用此函数

function bgGetDesigns(req, sendResponse) {
    getDesigns({
        'per_page': 100,
        'name': req.name
    })
    .then((res) => {
        sendResponse({success: true, data: res});
    })
    .catch((e) => {
        sendResponse({success: false, error: e});
    });
}

但是我注意到的是,如果我的弹出脚本是打开的,那么当我通过内容脚本调用sendMessage时,后台脚本会执行网络请求(正确),而弹出脚本还会执行网络请求(错误)

这是否是预期的行为,或者这可能是由webpack构建我的捆绑软件的方式引起的?

0 个答案:

没有答案