需启用“可访问文件网址”权限、开启FileSystemAccess API、添加--unsafely-treat-insecure-origin-as-secure启动参数、手动授予权限,并在manifest.json中声明fileSystem等必要权限。

如果您在使用谷歌浏览器加载本地扩展程序(如已解压的文件夹或CRX包)时,发现扩展无法读取本地文件(例如无法打开本地HTML、访问本地图片或调用File API),则可能是由于浏览器默认禁用了对本地文件系统的访问权限。以下是配置该权限的具体步骤:
一、启用扩展的“可访问文件网址”权限
此设置允许已安装的扩展程序主动读取本地文件系统中的网页、脚本或资源,是离线工具(如本地文档解析器、Markdown预览器、网页调试助手)正常运行的前提。
1、在Chrome地址栏输入 chrome://extensions/ 并按回车键,进入扩展程序管理页面。
2、确认右上角“开发者模式”开关已开启(呈蓝色状态)。
3、在目标扩展程序卡片右下角,找到并点击“详细信息”按钮(若未显示,先点击该扩展名称旁的>图标展开)。
4、向下滚动至“站点权限”区域,找到“可访问文件网址”选项,并将其开关切换为开启状态(变为蓝色)。
二、通过chrome://flags启用本地文件系统API支持
部分基于现代Web标准(如File System Access API)的离线工具需底层启用实验性接口,否则即使扩展获得权限也无法调用相关API。
1、在Chrome地址栏输入 chrome://flags 并按回车键,进入实验性功能页面。
2、在页面顶部搜索框中输入 FileSystemAccessAPI。
3、在匹配项中找到 “Web Platform Features: File System Access API”,点击其右侧下拉菜单,选择 “Enabled”。
4、点击页面右下角的“立即重新启动”按钮,使更改生效。
三、以--unsafely-treat-insecure-origin-as-secure参数启动浏览器
当扩展需在本地file://协议下运行并调用受保护API(如navigator.storage或Permissions API)时,Chrome会因安全策略拒绝授权;添加该启动参数可将指定本地路径视为可信源。
1、关闭所有正在运行的Chrome进程(包括后台chrome.exe,可通过任务管理器确认)。
2、右键Chrome快捷方式 → 选择“属性” → 在“目标”栏末尾添加空格及以下完整参数:--unsafely-treat-insecure-origin-as-secure="file:///" --user-data-dir="C:/chrome-offline-profile" --allow-file-access-from-files。
3、点击“确定”保存,双击该快捷方式启动浏览器。
4、此时在地址栏访问 file:///C:/your-tool/index.html 即可被识别为安全上下文,扩展可正常请求文件系统权限。
四、手动授予扩展对特定本地目录的读写权限
对于使用File System Access API的离线工具,首次运行时需用户主动授予权限;若跳过提示或权限被拒绝,需手动重置并触发新授权流程。
1、在扩展弹出的界面中,点击“选择文件夹”或“访问文件系统”按钮(具体文字依工具而定)。
2、在弹出的系统对话框中,导航至目标本地目录(如D:\my-notes),选中该文件夹后点击“确定”。
3、若此前已拒绝,需先清除权限记录:在地址栏输入 chrome://settings/content/siteDetails?site=file%3A%2F%2F,找到对应扩展条目,点击“删除权限”,再重新触发授权。
五、检查扩展清单文件(manifest.json)是否声明必要权限
若扩展本身未在manifest.json中声明"fileSystem"或"storage"等权限字段,则即使用户授权也无法调用对应API;需确认该文件存在且配置正确。
1、定位到已解压的扩展程序根目录,用文本编辑器打开manifest.json文件。
2、查找 "permissions" 字段,确认其值包含 "fileSystem" 或 "storage"(如为Manifest V3,还需检查 "host_permissions" 是否含 "file:///*")。
3、若缺失,手动添加对应权限项,保存文件后返回 chrome://extensions/ 页面,点击该扩展卡片右上角的“更新”按钮(循环箭头图标)以重载配置。









