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

Firefox中document.requestStorageAccess返回handle未定义问题咨询

问题原因与解决方案

核心原因

Firefox 对 document.requestStorageAccess() 的实现逻辑和 Chrome 存在差异:

  • Chrome 会返回一个包含对应存储接口的 handle 对象,需要通过该 handle 访问 localStorage
  • Firefox 在权限授予后,不会返回这个 handle 对象(因此你的代码里handle为undefined),此时直接使用全局的localStorage即可,无需通过 handle 调用

兼容代码示例

调整代码,同时适配 Chrome 和 Firefox 的实现:

document.requestStorageAccess({ localStorage: true }).then(
  (handle) => {
    console.log("localStorage access granted");
    // 兼容两种浏览器实现
    const storage = handle?.localStorage ?? localStorage;
    storage.setItem("foo", "bar");
  },
  () => {
    console.log("localStorage access denied");
  },
);

额外说明

即使 Firefox 已经授予了 localStorage 权限,它也不会像 Chrome 那样返回带存储接口的 handle,这是浏览器厂商在 API 实现上的细节差异,并非代码错误或权限问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 11:09:51