本地HTML文件在浏览器打开时提示“File not found”错误求助
我来帮你排查这个困扰你的问题,之前处理过不少类似的本地HTML文件打不开的情况,给你几个针对性的排查步骤:
先确认文件路径的绝对正确性
有时候我们以为路径是对的,但其实差了一点点。你可以右键这个HTML文件,复制它的绝对路径(Windows是右键→属性→安全→对象名称;Mac是右键→显示简介→位置,复制完整路径),然后直接粘贴到浏览器地址栏里访问。如果还是不行,试试把整个项目文件夹移到更简单的路径下,比如Windows的C:\IoT-Project或者Mac的~/IoT-Project,避免路径里有中文、特殊符号或者过长的层级。检查文件存在性与权限
先确认这个HTML文件真的在你以为的文件夹里,别是误删或者存错位置了。另外,浏览器可能因为权限问题读不到文件:- Windows:右键项目文件夹→属性→安全,确保当前登录用户有「读取和执行」的权限;
- Mac:右键文件夹→显示简介→共享与权限,把当前用户的权限改成「读取与写入」。
排查HTML内的资源引用路径
你提到这是PubNub的IoT树莓派项目,HTML里大概率会引用本地的JS、CSS或者其他资源文件。如果这些资源的路径写错了,有时候浏览器也会抛出「File not found」的错误(不一定会明确提示是资源文件找不到)。比如如果代码里有<script src="pubnub.js"></script>,那这个pubnub.js必须和HTML文件在同一个文件夹里,或者路径要写对(比如./js/pubnub.js)。如果方便的话,把完整的HTML代码贴出来,我可以帮你检查这些引用是否正确。用本地服务器打开文件(推荐)
很多IoT项目会用到AJAX或者跨域资源,直接双击打开本地HTML文件用的是file://协议,浏览器会有很多限制,可能导致文件加载失败。你可以用简单的本地服务器来运行:- 如果你有Python:打开命令行,切换到HTML文件所在的文件夹,运行
python -m http.server 8000(Python3)或者python -m SimpleHTTPServer 8000(Python2),然后在浏览器访问http://localhost:8000/你的文件名.html; - 如果你有Node.js:先安装
http-server工具,运行npm install -g http-server,然后到项目文件夹里运行http-server,按照提示的地址访问即可。
- 如果你有Python:打开命令行,切换到HTML文件所在的文件夹,运行
内容的提问来源于stack exchange,提问作者Nono




