双击本地HTML文件(file:// 协议)运行时,常会遇到一个反直觉的现象:OPFS(源私有文件系统)直接报错不可用,但 IndexedDB 却能正常读写存储。这并非代码bug,而是浏览器安全模型与API设计共同决定的结果。
一、OPFS 不可用的核心原因:两个硬性门槛全不满足
OPFS 是 File System Access API 的子集,全称为 Origin Private File System,它的设计从底层就绑定了“源(Origin)”与“安全上下文”两个概念,而 file:// 协议恰好两者都不满足。
1. 强制要求安全上下文
OPFS 属于高权限的文件系统类API,W3C 标准与主流浏览器实现均要求其必须在安全上下文(Secure Context)中运行,仅认可 https:// 和 http://localhost 两类环境。







