本地html网页怎么让别人打开
你写了一个HTML文件,本地双击打开,网页浏览器里跑得挺好。让别人打发给朋友,本地对方收到一个文件,网页双击,让别人打白屏,本地或者样式全乱。网页这不是让别人打你的代码有问题——是打开方式不对。 本地HTML文件在你自己电脑上能跑,本地是网页因为浏览器直接读取了硬盘上的文件路径。但别人拿到这个文件,让别人打如果里面引用了本地图片、本地CSS、网页JS,让别人打那些路径在他电脑上根本不存在。比如你写了 把HTML文件连同它依赖的所有资源——图片、样式表、脚本——放在一个文件夹里。文件夹内部用相对路径引用,别用绝对路径。比如 这法子适合小项目。一旦文件多了,对方解压完可能找不到入口文件在哪。而且手机用户基本没法这样操作——iOS解压zip之后,HTML文件在文件App里点开是一片代码,不是渲染后的页面。 注册一个GitHub账号,新建仓库,把你的HTML文件传上去。进入仓库的Settings,找到Pages选项,把部署分支设为main,保存。等一两分钟,GitHub会给你一个网址,格式是 免费,稳定,支持自定义域名。缺点是国内访问GitHub Pages有时候慢,图片多了加载要等。静态页面完全够用,纯前端项目首选。 打开 Netlify国内访问速度比GitHub Pages好一些。我拿它放过几个demo页面,拖进去就完事,不用注册都能先试。要长期用还是得注册,不然域名过一阵会回收。 Vercel的操作逻辑和Netlify差不多,导入Git仓库或者用命令行工具 如果你只是想给同一个WiFi下的人看,比如给同事演示一下,不用那么麻烦。在本地开一个HTTP服务器: 想让外网也能访问,用ngrok或者frp做内网穿透。ngrok最简单:下载后运行 文件名不要用中文和空格。有些服务器和浏览器处理中文路径会出问题,空格会被转义成 HTML文件里的链接和资源路径,统一用相对路径。部署到网上之后,根目录就是你的仓库根目录或者拖拽的那个文件夹。写 如果页面用了fetch或者XMLHttpRequest读取本地JSON文件,直接双击打开HTML会报CORS错误。浏览器安全策略不允许file协议下跨域请求。必须通过HTTP服务器访问,上面说的任何一种托管方式都行。 手机浏览器打开本地HTML文件,Android上可以用文件管理器选择用浏览器打开,iOS比较麻烦,基本只能靠托管。所以如果你做的页面要给手机用户看,直接部署到网上最省事。<img src="C:\Users\你\Desktop\images\photo.jpg">,对方电脑上哪有这个目录?最直接的办法:打包发过去
<img src="images/photo.jpg"> 而不是 <img src="C:/Users/.../photo.jpg">。然后把这个文件夹压缩成zip,发给对方。对方解压后双击HTML文件就能看。用GitHub Pages托管
https://你的用户名.github.io/仓库名/文件名.html。把这个链接发给任何人,点开就能看。Netlify拖拽部署
app.netlify.com/drop,把你的HTML文件或者整个文件夹直接拖进浏览器窗口。等几秒,Netlify生成一个随机域名,比如 https://random-name-123.netlify.app。这个链接可以直接分享。想改域名前缀,在站点设置里能改。免费额度对个人项目绰绰有余。Vercel同理
vercel 部署。适合已经用Git管理代码的人。国内访问速度两家半斤八两,看运气。临时用内网穿透
python -m http.server 8000,然后查自己电脑的局域网IP(Windows用 ipconfig,Mac用 ifconfig),对方在浏览器输入 http://你的IP:8000/文件名.html 就能访问。前提是防火墙没拦,且在同一网络下。ngrok http 8000,它会给你一个公网地址,转发到你本地的8000端口。免费版每次重启地址会变,临时演示够用。几个容易踩的坑
%20,有时候链接就断了。用英文短横线或者下划线。/css/style.css 和写 css/style.css 效果可能不一样,看部署平台的配置。
-
上一篇
-
下一篇