当直接在浏览器中打开本地 html 文件时,相对路径链接可能失效;需确保文件同目录、使用 `file://` 协议正确访问,或通过本地服务器解决。
在本地开发中(尤其是无网络环境,如校园手机存储场景),常希望通过双击 .html 文件直接运行网页应用(例如考勤系统)。但你遇到的 ERR_FILE_NOT_FOUND 错误非常典型——它并非代码写错,而是浏览器对 file:// 协议的安全限制所致。
你的 HTML 代码本身是标准且正确的:
GO TO FILE2
GO TO FILE1
✅ 不需要 ./(可省略),也不建议用 ../ 或绝对路径(如 C:/...),因为跨盘符或路径硬编码会严重降低可移植性。
✅ 确保 file1.html 和 file2.html 确实处于同一文件夹下(例如:/AttendanceApp/file1.html 和 /AttendanceApp/file2.html)。
现代浏览器(Chrome、Edge、Brave 等)出于安全考虑,默认禁止 file:// 页面通过相对 URL 加载其他本地资源(包括跳转、AJAX、fetch、iframe 等),即使文件物理存在。这是故意设计,不是 bug。
因此,双击打开 file1.html → 点击链接 → 触发 file://.../file2.html 请求 → 浏览器直接拦截 → 显示 ERR_FILE_NOT_FOUND。
无需网络,不依赖外网,完全离线可用,且兼容所有现代功能(如 localStorage、fetch、CSS 模块等):
手机端(Android):安装 KWS - Simple Web Server(免费、无广告、支持目录浏览和热重载)。
将 AttendanceApp 文件夹放入手机任意位置(如 Internal Storage/AttendanceApp/),用 KWS 打开该目录 → 启动服务器 → 在手机浏览器访问 http://localhost:8080/file1.html 即可正常跳转。
电脑端(开发调试):终端进入项目目录,一行命令启动服务:
# Python 3(需已安装) python -m http.server 8000 # 或使用 npx(需 Node.js) npx http-server -p 8000
然后访问 http://localhost:8000/file1.html —— 所有链接、脚本、样式均正常工作。
? 优势:绕过 file:// 限制,启用完整 Web API,未来扩展(如添加 JS 表单、本地存储记录)无障碍。
部分浏览器对本地文件更宽松:
⚠️ 注意:不推荐长期依赖此方式,因行为不可控且不符合 Web 标准。
既然目标是「纯离线手
机考勤」,请同步考虑:
只要文件结构清晰、服务环境就位,你的本地 HTML 考勤系统就能稳定运行于任何无网环境。