手机版

如何解决火狐浏览器无法读取本地JSON文件导致的开发报错?

时间:2026-09-10 352
火狐浏览器双击打开HTML文件时fetch同目录JSON报跨源错误,需修改about:config中security.fileuri.strict_origin_policy为false并彻底重启浏览器,或使用已废弃的--allow-file-access-from-files参数(仅限Firefox 115 ESR及更早版),同时确保JSON文件格式合法。

开发时用火狐浏览器直接双击打开 HTML 文件,页面通过 fetch 加载同目录下的 data.json,控制台却报“已拦截跨源请求:同源策略禁止读取位于 file:///... 的远程资源”,导致数据无法渲染、调试中断。

修改 Firefox 配置项放开本地文件访问限制

第一步:在火狐地址栏输入 about:config,回车后点击【接受风险并继续】

第二步:在搜索框中输入 security.fileuri.strict_origin_policy

第三步:双击该项,将布尔值由 true 改为 false。这一步必须做,否则后续所有操作无效——Firefox 默认把所有 file:// 协议视为不同源,即使 JSON 和 HTML 在同一文件夹也不允许 fetch 互通。

第四步:关闭当前所有火狐窗口(包括后台进程),重新启动浏览器。注意:仅刷新页面或新建标签页无效,必须彻底重启进程才能使配置生效。

用命令行启动火狐并附加安全参数(备用方案)

方法一:Windows 下创建快捷方式,目标栏填写:

"C:\Program Files\Mozilla Firefox\firefox.exe" --allow-file-access-from-files

方法二:macOS 或 Linux 终端执行:

open -a "Firefox" --args --allow-file-access-from-files

注意:【该参数在较新版本 Firefox(120+)中已被废弃,仅适用于 115 ESR 及更早版本】。若启动后仍报 CORS 错误,请立即切换回 about:config 方案。

检查 JSON 文件本身是否合法

用 VS Code 打开 data.json,确认文件末尾无 BOM 头(右下角状态栏显示 UTF-8 而非 UTF-8 with BOM);

确认所有字符串键和值均使用英文双引号,而非中文引号或单引号;

确认无尾随逗号(如 {"name": "test",})、注释(JSON 标准不支持 // 或 /* */)、或不可见控制字符(可用在线 JSONLint 验证)。

女子学校安检员安卓最新版
6.0
模拟经营 20 MB
扫一扫手机安装更便捷