当直接在浏览器中打开本地 html 文件时,由于安全限制,相对路径链接可能失效;本文详解原因、解决方案及移动端离线部署的最佳实践。
在本地开发轻量级网页应用(如校园考勤系统)时,常希望完全脱离网络,将所有资源(HTML、CSS、JS、图片等)存于手机或电脑本地存储中直接运行。你遇到的 ERR_FILE_NOT_FOUND 错误,本质并非路径书写错误,而是浏览器的安全策略与文件协议(file://)的局限性共同导致的。
首先确认 file1.html 和 file2.html 确实位于同一目录下,例如:
/attendance/ ├── file1.html └── file2.html
此时,GO TO FILE2(无需 ./)是语义正确且推荐的写法。./ 在 file:// 协议下虽合法,但部分浏览器(尤其是 Chrome)对 file:// 下的相对路径解析更严格,建议省略前缀以提升兼容性。
Chrome、Edge 等基于 Chromium 的浏览器默认禁止 file:// 页面发起某些跨文件操作(如读取同目录其他 HTML 的完整 DOM),但超链接跳转本身是允许的——前提是:
✅ 正确打开方式:
在文件管理器中右键 → “在浏览器中打开”,或拖拽 HTML 文件到已打开的 Chrome 标签页中,确保地址栏显示类似:
file:///storage/emulated/0/attendance/file1.html(Android)或
file:///Users/you/attendance/file1.html(macOS/Windows)
你提到需在校园弱网环境下运行考勤系统,以下是经验证的可行方案:
使用支持 file:// 友好跳转的浏览器
Chrome 在 Android 上对本地链接支持不稳定。推荐改用:
将整个项目打包为单页应用(SPA)
避免多 HTML 文件跳转,改用 JavaScript 动态切换内容,仅需一个 index.html:
THIS IS FILE1
THIS IS FILE2
进阶:添加 PWA 支持(离线即用)
即使初始安装需一次联网,后续可完全离线运行:
试。ERR_FILE_NOT_FOUND 在本地 HTML 间跳转中,90% 源于路径不匹配或浏览器兼容性问题。最简可靠解法:确保同目录 + 省略 ./ + 换用 Kiwi/Firefox + 优先采用单页架构。对于考勤类工具,单页 + 本地存储(localStorage)即可满足数据持久化需求,彻底摆脱网络依赖。