Chrome-Add-on “background.js:没有找到可以发送消息的活动选项卡。请导航到兼容的网站。

Chrome-Add-on "background.js: No active tab found to send message to. Please navigate to a compatible website."

提问人:Niklas 提问时间:11/12/2023 更新时间:11/12/2023 访问量:15

问:

我正在使用 Chat GPT-4 编写一个 Chrome 插件,它应该通过按特定顺序按下按钮来自动化网站上的流程。

但是我什至无法运行附加组件。我不断收到错误消息:“背景.js:找不到要向其发送消息的活动选项卡。请导航到兼容的网站。

Chat GPT-4 似乎也没有任何进一步的解决方案,并且似乎在进行故障排除。

在 chrome://discards/ 中,我已经在“自动丢弃”下将网站设置为“X”。

在manifest.json中,设置了正确的权限以及目标网站。在后台.js、脚本.js、弹出式.js和弹出式.html中,Chat GPT-4 没有发现任何问题。

谁能帮我解决这个问题?

背景.js:

let isBotRunning = false;

chrome.runtime.onMessage.addListener((message, _sender, sendResponse) => {
    if (message.action === "toggleBot") {
        isBotRunning = !isBotRunning;
        sendResponse({status: isBotRunning});

        chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
            if (tabs.length > 0 && tabs[0].id !== undefined && tabs[0].url.startsWith("https://[removed by me.](/")) {
                chrome.tabs.onUpdated.addListener(function listener(tabId, info) {
                    if (tabId === tabs[0].id && info.status === 'complete') {
                        chrome.tabs.onUpdated.removeListener(listener);
                        chrome.tabs.sendMessage(tabs[0].id, {action: isBotRunning ? "startBot" : "toggleBot", status: isBotRunning}).catch(error => {
                            console.error("Error sending message:", error);
                        });
                    }
                });
            } else {
                console.error("No active tab found to send message to. Please navigate to a compatible website.");
            }
        });
    } else if (message.action === "queryStatus") {
        sendResponse({status: isBotRunning});
    }
});

我需要我的插件来识别我打开的网站并在其上启动脚本,但一开始就出现了直接的问题。我的电脑在一夜之间处于睡眠模式,早上,浏览器选项卡仍然打开。我没有改变任何东西,它曾经工作过,但在那之后就再也没有了。我已经尝试在互联网上搜索解决方案,甚至使用了另一个将选项卡设置为活动状态的附加组件。但是,我找不到解决方案,真的需要帮助。

Google-Chrome浏览器 插件

评论


答: 暂无答案