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

能否通过Chrome扩展访问指定网站的localStorage获取存储数据?

结论

可以实现,Chrome扩展有权限访问指定匹配站点的localStorage数据,你是站点的开发者,完全可以通过配置扩展权限完成该需求。

具体实现方案

方案1:内容脚本常驻读取(适合需要自动检测登录态的场景)

内容脚本是Chrome扩展注入到目标页面中运行的脚本,和目标页面共享同源上下文,可直接操作页面的localStorage:

  • 首先在扩展的manifest.json(推荐用现在Chrome官方主推的V3版本)中配置站点权限和注入规则:
{
  "manifest_version": 3,
  "name": "后台自动登录扩展",
  "version": "1.0",
  "content_scripts": [
    {
      "matches": ["https://你的网站域名/*"], // 替换为你自己的站点地址
      "js": ["content.js"]
    }
  ],
  "host_permissions": ["https://你的网站域名/*"]
}
  • 然后在content.js中直接读取localStorage即可:
// 读取JWT
const jwt = localStorage.getItem('你站点存储JWT的键名')
// 如果需要把JWT传给扩展后台,用Chrome消息API传递
if(jwt) {
  chrome.runtime.sendMessage({type: 'GET_JWT_SUCCESS', data: jwt})
}
// 如果是要写入JWT实现自动登录,直接赋值即可
// localStorage.setItem('你站点存储JWT的键名', '扩展里存储的JWT值')

方案2:主动注入脚本读取(适合按需触发读取的场景)

如果不需要每次页面加载都注入脚本,你可以在需要读取的时候主动调用chrome.scriptingAPI注入一次性脚本读取数据:

  • 首先在manifest.json中申请对应的权限:
{
  "manifest_version": 3,
  "name": "后台自动登录扩展",
  "version": "1.0",
  "permissions": ["scripting"],
  "host_permissions": ["https://你的网站域名/*"]
}
  • 在扩展的popup或者后台脚本中调用API读取:
async function getJWTFromSite() {
  const [tab] = await chrome.tabs.query({active: true, url: "https://你的网站域名/*"})
  const [result] = await chrome.scripting.executeScript({
    target: {tabId: tab.id},
    func: () => localStorage.getItem('你站点存储JWT的键名')
  })
  const jwt = result.result
  // 后续处理JWT的逻辑
}
注意事项

扩展只能访问你在host_permissions中声明过的站点的存储,不能随意读取其他未授权站点的localStorage,符合浏览器的安全规则。你如果需要实现自动登录,只需要把扩展中存储的JWT通过上述两种方式写入到站点的localStorage中,刷新页面后站点就能识别登录态,无需用户手动登录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 07:18:03