火狐浏览器双击打开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 验证)。











