Chrome v89+ 默认拦截 file:// 下的 fetch 等操作,因该协议无同源策略易致安全风险;而 Live Server 等通过 http://localhost 提供标准 Web 安全模型支持。
Chrome 从 v89 开始默认拦截 file:// 协议下加载的某些资源(比如 fetch()、XMLHttpRequest、importScripts()),尤其当 HTML 文件里含 JavaScript 尝试读取本地其他文件或发起跨目录请求时,控制台会报 net::ERR_BLOCKED_BY_CLIENT 或 Not allowed to load local resource。这不是“病毒警告”,而是浏览器主动限制——因为 file:// 没有同源策略边界,容易被恶意 HTML 文件读取你电脑上的任意文件。
VS Code 的 Live Server 插件启动的是一个本地 HTTP 服务(如 http://127.0.0.1:5500/index.html),此时页面运行在 http:// 协议下,浏览器按标准同源策略执行,允许 fetch('./data.json')、import('./module.js') 等操作。而双击打开是 file:///Users/xxx/index.html,协议不同,权限模型完全不同。
file://:无服务器、无 CORS、无 cookie、JS 可尝试访问同目录任意文件(危险面)→ 浏览器强制收紧http://localhost:有明确 origin、受完整 Web 安全模型约束 → 允许现代前端开发行为如果你只是想快速验证一个单页 HTML,又不想装服务,可启动 Chrome 时加参数禁用该限制(仅限本机调试,每次都要重开):
chrome --unsafely-treat-insecure-origin-as-secure="file://" --user-data-dir=/tmp/chrome-test-dir
注意:
/tmp/chrome-test-dir 必须是空目录,不能复用已有 profile--user-data-dir=C:\temp\chrome-test
file:// 的安全沙箱,一旦打开恶意 HTML 文件,风险极高不需要安装复杂工具。以下任选其一即可:
python3 -m http.server 8000,然后访问 http://localhost:8000/your-file.html
npx serve -s . -l 3000(需先 npm install -g serve)Web Server for Chrome(已下架,慎用旧版)所有这些方式都让页面跑在 http:// 下,完全兼容现代前端写法,且无需改代码、不降低安全性。
真正容易被忽略的是:很多教程写 fetch('data.json') 时没说明协议上下文,导致新手在 file:// 下死磕权限错误。只要记住——本地开发 ≠ 双击打开,它本质是本地服务调试,协议切换才是关键。
# javascript
# python
# java
# html
# js
# 前端
# node.js
# json
# node
# windows
相关栏目:
【
Google疑问12 】
【
Facebook疑问10 】
【
网络优化76771 】
【
技术知识130152 】
【
IDC云计算60162 】
【
营销推广131313 】
【
AI优化88182 】
【
百度推广37138 】
【
网站推荐60173 】
【
精选阅读31334 】
相关推荐:
Win11怎么设置环境变量_Win11配置Path路径变量【详解】
Win10如何关闭安全中心所有通知 Win10禁用Windows Defender提醒【设置】
c++的static关键字有什么用 静态变量和静态函数的应用场景【教程】
Windows怎样关闭Edge新标签页广告_Windows关闭Edge新标签页设置【步骤】
Windows如何查看和管理已安装的字体?(字体文件夹)
Python数据挖掘核心算法实践_聚类分类与特征工程
c# 如何深拷贝和浅拷贝
windows如何修改文件默认打开方式_windows设置程序关联教程
Mac的“预览”如何合并多个PDF_Mac文件处理技巧【效率】
Windows10任务栏图标变成白色文件_Win10重建图标缓存修复方法
Win11怎么压缩文件 Win11自带压缩解压功能使用【教程】
Win10路由器怎么隐藏ssid Win10隐藏wifi名称设置【指南】
LINUX怎么设置系统语言_LINUX修改中文环境
Windows如何使用BitLocker To Go加密U盘?(移动驱动器加密)
如何在 Go 后端安全获取并验证前端存储的 JWT?
Mac怎么安装软件_Mac安装dmg与pkg文件的区别【指南】
Win11时间不对怎么同步_Win11自动校准互联网时间【设置】
Win11怎么关闭贴靠布局_Win11禁用窗口最大化时的布局菜单
Windows10如何重置此电脑_Windows10电脑重置方法【步骤】
Mac的Time Machine怎么用_Mac系统备份与数据恢复【完整指南】
Linux如何挂载新硬盘_Linux磁盘分区格式化与开机自动挂载【指南】
如何在 Go 中判断变量是否为函数类型
如何使用Golang实现聊天室消息存档_存储聊天记录到文件
Mac如何与安卓手机传文件_Mac和Android设备互通【必备工具】
Win11怎么设置指纹解锁 Win11笔记本录入指纹登录【教程】
Win11怎么关闭通知中心_Windows11系统通知与专注助手设置
Win11任务栏怎么固定应用 Win11将软件图标固定到底部【步骤】
Win11任务栏颜色怎么改_Win11自定义任务栏配色设置【美化】
如何在Golang中使用log包输出不同级别日志_Golang log日志管理与分类
Windows10蓝屏SYSTEM_SERVICE_EXCEPTION_Win10驱动冲突排查
Drupal 中 HTML 链接被重复转义导致渲染异常的解决方案
PythonDocker高级项目部署教程_多容器管理与CI/CD流水线
Golang如何遍历目录文件_Golang filepath.Walk目录遍历操作方法
Python面向对象实战讲解_类与设计模式深入理解
Win11怎么设置触控板手势_Windows11三指四指操作自定义
如何在 Pandas 中按元素交集合并两列字符串
Win10怎样安装Word样式库_Win10安装Word样式教程【步骤】
如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法
如何使用Golang编写单元测试_创建Test函数验证业务逻辑
c++ std::atomic如何保证原子性 c++ CAS操作原理【底层】
如何使用Golang template生成文本模板_动态生成HTML或文本
php做exe支持多线程吗_并发处理实现方式【详解】
php订单日志怎么记录物流_php记录订单物流变更日志指南【指南】
Windows怎样拦截QQ浏览器广告_Windows拦截QQ浏览器广告方法【方法】
Win11任务栏天气怎么关闭 Win11隐藏天气小组件图标【设置】
Win11怎么更改账户头像_Windows 11自定义用户头像图片设置【步骤】
Windows10系统怎么查看运行时间_Win10 CPU正常运行时间查询
LINUX的SELinux是什么_详解LINUX强制访问控制系统的入门与配置
Win11怎么关闭SmartScreen_禁用Windows Defender筛选器教程【步骤】
Mac上的iMovie如何剪辑视频?(新手入门教程)
2026-01-03
致胜网络推广营销网专注海外推广十年,是谷歌推广.Facebook广告全球合作伙伴,我们精英化的技术团队为企业提供谷歌海外推广+外贸网站建设+网站维护运营+Google SEO优化+社交营销为您提供一站式海外营销服务。