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

Chrome扩展MV3中Chrome Storage API无法正常使用问题求助

Chrome Manifest V3扩展中Storage API返回undefined的解决办法

核心代码问题

你的代码里,chrome.storage.local.get的回调参数result是一个包含目标键值的对象,直接打印result会输出[object Object],若你看到undefined,大概率是未正确访问对象属性。修正代码如下:

chrome.storage.local.set({ 'test': 'test' }, function() {
    chrome.storage.local.get('test', function(result) {
        // 正确访问对象的test属性
        console.log('Value currently is ' + result.test);
    });
});

也可以用对象解构让代码更清晰:

chrome.storage.local.set({ 'test': 'test' }, () => {
    chrome.storage.local.get('test', ({ test }) => {
        console.log('Value currently is ' + test);
    });
});

清单文件验证

你的manifest配置无问题:

  • 已正确声明storage权限,满足MV3的权限要求
  • 内容安全策略(CSP)未限制Storage API的正常使用
  • 其他权限与配置不存在冲突

跨上下文调试注意事项

在内容脚本或弹窗中调试时:

  • 弹窗控制台需单独打开(右键扩展图标→检查),不要混用页面控制台
  • 内容脚本的控制台要在对应页面的「控制台」标签下,切换到「内容脚本」上下文(Chrome控制台顶部下拉菜单)
  • Service Worker控制台需在chrome://extensions/页面点击扩展的「服务工作者」链接打开,调试时可勾选「开发者模式」下的「不关闭DevTools时保持活动状态」,避免Service Worker闲置终止

额外排查点

若修正后仍异常:

  • 检查是否有其他代码意外清空了storage数据
  • 尝试用chrome.storage.local.get(null)获取所有存储数据,确认目标键是否存在
  • 在chrome://extensions/页面刷新扩展后重试

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 20:15:17