Chrome中Fetch API无法加载本地文件的解决方法咨询
嘿,这个问题我太熟了!Chrome出于安全考虑,默认会限制file://协议下的Fetch API(还有XMLHttpRequest)访问本地文件,避免恶意脚本随意读取你的本地数据。下面给你几个靠谱的解决办法:
解决Chrome中Fetch API加载本地文件的问题
方法1:启动Chrome时关闭本地文件安全限制
这是最直接的临时方案,适合开发测试用。你需要先关闭Chrome的所有窗口,再通过命令行启动它并添加参数:
- Windows:打开命令提示符,输入
chrome.exe --allow-file-access-from-files - macOS:打开终端,输入
open -a "Google Chrome" --args --allow-file-access-from-files - Linux:在终端输入
google-chrome --allow-file-access-from-files
⚠️ 注意:这个模式下浏览器的安全性会降低,只在开发测试时使用,用完记得关掉Chrome再正常启动,恢复默认的安全设置。
方法2:搭建本地HTTP服务器
这是更推荐的正规方案,把本地文件放到HTTP服务器环境下,就不会受file://协议的限制了,而且完全符合浏览器的安全规范:
- 如果你有Node.js:先全局安装
http-server,运行npm install -g http-server,然后在你的文件目录下执行http-server,之后访问http://localhost:8080/index.html,就能正常使用Fetch加载本地文件了。 - 如果你用Python:Python3自带简易HTTP服务器,在文件目录下运行
python -m http.server 8080,同样访问http://localhost:8080/index.html即可。 - 也可以用XAMPP、WAMP这类可视化工具快速搭建本地服务器,把你的
index.html放到它们的网站根目录就能访问。
方法3:修改Chrome flags(不推荐)
有些旧版Chrome可以通过chrome://flags页面修改相关设置,但现在新版本基本移除了对应的选项,而且这种方法不稳定,还可能带来安全隐患,所以优先考虑前面两种方案。
内容的提问来源于stack exchange,提问作者davidesp




