本地file://协议下HTML中JS能否加载同目录JSON文件?
解决Chrome本地file://协议加载同目录JSON的CORS问题
可行,给你三个不用额外工具的方案:
方案1:修改Chrome启动参数(最直接)
- 先关掉所有Chrome窗口
- 右键Chrome快捷方式,打开「属性」
- 在「目标」输入框的末尾,加一段内容:
--allow-file-access-from-files(注意前面必须有空格) - 点击「确定」,用这个修改后的快捷方式打开Chrome,再直接打开本地的
index.html,就能正常加载同目录的data.json了
方案2:把JSON内嵌到HTML中(零设置)
不用单独请求JSON文件,直接把data.json的内容写到HTML的<script>标签里:
<script> // 把data.json里的所有内容复制到这里 const reportData = { // 你的JSON数据内容 }; // 后续直接用reportData变量,不用再做fetch/XHR请求 </script>
这种方式完全绕开CORS限制,缺点是如果JSON数据很大,HTML文件会变臃肿,但胜在不用改任何浏览器设置。
方案3:启用Chrome实验特性
- 在Chrome地址栏输入
chrome://flags/#allow-file-access-from-files - 把对应选项改成「Enabled」
- 重启Chrome后,就能正常加载本地JSON文件了
注意事项
修改启动参数或启用实验特性后,Chrome对本地文件的访问限制会放宽,建议仅在处理这份本地报告时使用,日常浏览网页用普通的Chrome快捷方式。
内容的提问来源于stack exchange,提问作者Allan Xu
相关产品推荐
相关产品推荐

