You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chrome扩展background.js传storage数据到popup.js触发端口关闭报错如何解决

问题原因

Chrome扩展的chrome.runtime.onMessage监听器默认在同步代码执行完成后自动关闭消息端口,你代码中调用的chrome.storage.local.get属于异步API,其回调执行时消息端口已经被关闭,sendResponse无法正常传输数据,因此抛出对应报错。

修复方案

在对应逻辑分支末尾添加return true语句,告知Chrome保持消息端口开放,直到sendResponse被调用后再释放端口。

修改后完整background.js代码
chrome.runtime.onMessage.addListener(function (request, sender, sendResponse) {
  if (request.greeting == "display-db") {
    chrome.storage.local.get(["dsr_db"], function (result) {
      sendResponse({ message: result });
    });
    // 保持消息端口开放,必须添加
    return true;
  }
});

内容的提问来源于stack exchange,提问作者Ajay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.13 16:00:02