如果清单是 MV3,Chrome 扩展程序在浏览器重新启动后始终显示“服务工作线程不活动”

ron*_*ron 7 google-chrome-extension

我正在使用最新的 chrome:Win 10 Pro 上的版本 100.0.4896.60(官方版本)(64 位)

当我安装扩展时一切正常。

当我关闭 chrome 并重新打开时,扩展程序不再起作用。扩展选项卡显示所有扩展:“辅助服务(非活动)”

单击扩展程序的重新加载按钮后一切正常。

我还测试了它:

https://github.com/GoogleChrome/chrome-extensions-samples/tree/main/examples/hello-world

为了确保这可能适用于某些设置,我卸载了 chrome,删除了所有 chrome 文件并重新安装。

问题仍然存在。

我的朋友使用相同的 chrome 版本似乎没有这个问题。

关于如何解决这个问题有什么建议吗?

这里是代码:

    "use strict";

async function sendRequest(request, sendResponse) {
  try {
    const startTime = Date.now();
    const response = await fetch(request.url, request.options);
    const time = Date.now() - startTime;
    const body = await response.text();
    const headers = [...response.headers].map((el) => ({
      key: el[0],
      value: el[1],
    }));
    sendResponse({
      status: response.status,
      body,
      headers,
      time,
    });
  } catch (err) {
    sendResponse({
      err: err.message
    });
  }
}

chrome.runtime.onMessage.addListener(function (request, sender, sendResponse) {
  chrome.storage.sync.get("host", ({ host }) => {
    if (host === sender.tab.url) {
      if (request.type === "send-request") {
        sendRequest(request, sendResponse);
      } else if (request.type === "ping") {
        sendResponse();
      } else {
        console.log("bad request type", request.type);
      }
    } else {
      console.log("host not correct", host, sender.tab.url);
    }
  });
  // NOTE: return value required to keep port open for async response
  return true;
});

chrome.webNavigation.onBeforeNavigate.addListener(() => {
  console.info("service is up 2");
});

chrome.webNavigation.onHistoryStateUpdated.addListener((details) => {
  console.log('service is up');
});
Run Code Online (Sandbox Code Playgroud)

d-_*_*_-b 4

这是一个已知的错误。您可以在这里阅读更多相关信息:https://bugs.chromium.org/p/chromium/issues/detail ?id=1271154#c52