“网页,全部”生成html文件加同名资源文件夹,保存所有外部资源并改用相对路径;“网页,仅html”只保存html文本,资源链接仍指向原网址,断网即失效。

“网页,全部”和“网页,仅HTML”到底差在哪?
选错保存类型,打开文件时可能一片空白、样式全丢、图片不显示——这不是编码问题,是资源路径没被一起保存下来。
浏览器“另存为”时出现的两个常见选项,本质区别在于是否把 img、css、js 这些外部文件一并下载并建立本地引用关系:
-
网页,全部:生成一个.html文件 + 一个同名文件夹(如example_files/),所有外部资源都放里面,HTML 中的src和href路径也自动改成相对路径。适合需要离线完整还原页面效果的场景。 -
网页,仅HTML:只保存 HTML 文本本身,所有资源链接仍指向原始网址(比如https://xxx.com/style.css)。断网或原站下线后,样式和脚本就失效,图片也打不开。
用记事本或 VS Code 手动保存 HTML 源码时,为什么双击打不开?
最常见原因是扩展名或编码没设对——系统把它当成了 .txt,或者用了 ANSI 编码导致中文乱码、标签解析失败。
手动保存必须确认三件事:
- 文件名末尾明确加上
.html或.htm(不能靠重命名,要写进“文件名”框里) - “保存类型”选
所有文件,不是文本文档 (*.txt) - “编码”选
UTF-8(记事本里叫“UTF-8”,VS Code 默认就是,但保存时仍要检查右下角状态栏)
开发者工具里复制的 outerHTML,能直接当完整网页用吗?
不能直接双击运行——它只是某一个 DOM 节点的 HTML 片段,缺少 、<code>、 等基础结构,也没有 <meta charset="utf-8"> 声明。
如果想让它变成可运行的网页文件,得补全基本骨架:
- 开头加
<meta charset="utf-8"> - 把复制的
outerHTML粘贴到内部 - 结尾补上
- 再按上一条说的方式保存为
.html文件
否则浏览器会当成不合法 HTML 解析,可能只显示文字,不执行任何样式或脚本。
动态渲染的页面(比如 React/Vue SPA)另存为为啥内容是空的?
因为“另存为”保存的是初始 HTML,不是浏览器最终渲染出来的 DOM。像 <div id="root"></div> 这种占位容器,源码里确实没内容,JS 渲染逻辑也没被一起保存。
这种页面没法靠“另存为”搞定,得换方法:
- 在开发者工具的
Elements面板里右键目标节点 →Copy→Copy outerHTML(这是渲染后的结果) - 用命令行工具抓取:比如
wget --convert-links --page-requisites https://example.com(需先确保 JS 已执行完) - 更可靠的是用 Puppeteer 截取渲染后完整 HTML:
await page.content(),再保存为文件
普通用户最容易忽略的点:看到页面有内容,就默认“另存为”能拿到它——其实你看到的,和服务器发来的,常常不是一回事。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











