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

Chrome扩展中使用OPFS的createSyncAccessHandle报错求助

问题解答

Chrome扩展目前不支持createSyncAccessHandle()和createAccessHandle()这两个OPFS方法,这就是你调用时报错TypeError: fileHandle.createSyncAccessHandle is not a function的核心原因——哪怕你能正常使用createWritable()、getFile()等其他OPFS功能,这两个方法在扩展环境(包括服务工作线程、弹窗脚本)中并未开放权限。

替代实现方案

既然createWritable()和getFile()可正常工作,你可以用这两个方法满足文件读写需求:

写文件示例

const root = await navigator.storage.getDirectory();
const fileHandle = await root.getFileHandle('Untitled.txt', { create: true });
// 使用createWritable替代同步访问句柄
const writableStream = await fileHandle.createWritable();
await writableStream.write('测试扩展中的OPFS写入');
await writableStream.close();

读文件示例

const file = await fileHandle.getFile();
const fileContent = await file.text(); // 若需二进制数据可改用arrayBuffer()
console.log(fileContent);

额外说明

如果你的业务场景对文件访问的同步性有强依赖(比如高性能IO场景),目前Chrome扩展平台没有对应的替代方案,只能等待Chrome官方更新扩展环境,开放这两个OPFS方法的支持。

内容的提问来源于stack exchange,提问作者John Jethro Rashbold

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 17:40:23