🕵️ F12 侦探学院
网页对你隐藏的一切,都经不起你的放大镜。
9 关闯关式教程,带你玩转 Chrome / Edge 浏览器的 F12 开发者工具。看图学知识、动手玩游戏、答题赚 XP——学习进度自动保存在你自己的浏览器里,随时回来继续。
🗺️ 关卡地图 (点卡片进入关卡)
💾 进度工具:
进度保存在浏览器 localStorage(键名 f12-academy-progress),换电脑可用导出文件备份。
第 1 关
🔍 初识 F12 —— 打开网页的"X 光机"
你在浏览器里看到的网页,其实只是"前台表演"。幕后的结构、样式、代码、请求、数据……全都藏在一件神器里:浏览器开发者工具(DevTools)。因为它最经典的打开键是 F12,大家也习惯叫它"F12"。
把它想象成侦探的X 光机 + 放大镜:任何网页(包括本站!)你都能当场透视、当场实验。
📸 先看一眼它长什么样
按 F12 后,浏览器窗口会分成两半——左边还是网页,右边(或下边)就是 DevTools:
ElementsConsoleSources
NetworkApplicationPerformance
Lighthouse…
> 恭喜!你已经成功打开了 DevTools 🎉
// 顶部一排标签 = 各个"功能房间",本教程会带你一间间逛过去
🔑 三种打开方式
| 方式 | 操作 | 适合场景 |
| 快捷键 | 按 F12 或 Ctrl+Shift+I | 最常用,一秒打开 |
| 右键菜单 | 在网页任意元素上 右键 → 检查 | 想直接定位到你点的那个元素 |
| 直达控制台 | Ctrl+Shift+J | 只想敲代码/看报错时 |
💡 Mac 用户把 Ctrl 换成 Cmd 即可。关闭 DevTools:再按一次 F12,或点右上角 ✕。
🆚 Chrome 和 Edge 有区别吗?
现在(Edge 已改用 Chromium 内核后)两家的 DevTools 来自同一套开源代码,界面、面板、快捷键几乎一模一样。少数差异:
- Edge 多的:3D View(立体查看页面层级)、与 Copilot 的 AI 集成(如让 AI 解释报错)、对 IE 模式页面的调试、更深的 VS Code 集成。
- Chrome 常领先:最新实验功能通常先在 Chrome 出现,Edge 随后跟进。
- 结论:学哪个都一样,本站内容两边通用,个别差异会单独标注。
⚠️ 侦探守则(安全须知)
改 anything 都只影响你自己!
- 你在 DevTools 里的任何修改只存在于你电脑的内存里,刷新就还原,不会影响网站服务器,也不会被别人看到。
- 别把浏览器里的修改当成"黑掉网站"——那只是给自己看的幻象 😄
- 也请不要利用 DevTools 做违反法律和网站条款的事。
🧪 动手试试(30 秒)
- 就在本页面按 F12(或右键 → 检查)。
- 再按一次 F12 关掉它,反复开关找找手感。
- 试试 Ctrl+Shift+J,观察它是不是直接停在了 Console。
第 2 关
🧩 元素面板 Elements —— 网页的骨架随时改
每个网页都由 HTML 搭骨架、CSS 化妆。Elements 面板就是同时看到这两样东西的地方——而且当场改、当场见效。
🌳 看懂 DOM 树
Elements 里那棵层层嵌套的"树"叫 DOM(文档对象模型)。你可以把它理解成网页的家谱:<html> 是祖宗,<body> 是父辈,标题、段落、按钮都是子孙。
ElementsConsoleNetworkSources
<html>
<body>
<h1 class="title">侦探社营业中</h1>
<p>🔎 这一行被选中啦</p>
<button>委托我吧</button>
</body>
</html>
🛠️ 四个最常用的操作
- 精准选中元素:点 DevTools 左上角的箭头图标(或按 Ctrl+Shift+C),再去点网页上的任何东西,DOM 树会自动跳到它。
- 改文字:在 DOM 树里双击文字,直接编辑,回车生效。给老板页面改个"祝老板早日发财"试试 🤭(刷新即恢复)。
- 改样式:右侧 Styles 面板里,可以改属性值、新增属性、用复选框开关某条 CSS;点 :hov 还能强制触发 :hover 等悬停效果。
- 定位与复制:右键元素 → Scroll into view 让网页滚到它;Copy → Copy selector 复制它的"地址",写爬虫/自动化脚本时超好用。
📌 记住这条铁律
Elements 里的修改都是临时的——只改了你浏览器内存里的副本,刷新页面立刻恢复原样,服务器上的真文件毫发无损。想永久生效?第 4 关的 Local Overrides 在等你。
🧪 动手试试
- 在本站随便选一句话,右键 → 检查。
- 双击改掉它,比如把"侦探"改成"大侦探"。
- 按 F5 刷新,见证它恢复原样。
第 3 关
💬 控制台 Console —— 和浏览器面对面聊天
Console 是 DevTools 里的对话框:网页会把日志、警告、报错"说"给你听,你也可以输入 JavaScript 让浏览器现场执行。它是排查问题第一现场。
📖 先学会"听"
ElementsConsoleSourcesNetwork
> console.log('线索已记录')
线索已记录
undefined
⚠️ 黄字 = 警告:图片加载慢、废弃 API……要留意但别慌
✖ Uncaught TypeError: Cannot read properties of undefined
at calcTotal (app.js:5) ← 点这里能跳到出错代码!
- 白字是普通日志,黄字是警告,红字是报错——红字末尾通常有
文件:行号,点它直达案发现场。
- 点 🚫 图标或按 Ctrl+L 清屏;点漏斗图标可按严重程度过滤。
⌨️ 再学会"说"(执行代码)
光标停在 > 后面时,输入任何 JavaScript 表达式,按 Enter 立即执行(Shift+Enter 换行写多行):
1 + 1 → 回车看结果,恭喜你会 JS 了(bushi)
document.title → 看看当前网页的标题
2 ** 10 → 1024,控制台是个免费计算器
🧰 侦探的顺手小工具
| 工具 | 作用 |
$0 | 你在 Elements 面板里最近选中的那个元素,可以直接在控制台操作它 |
$$('p') | 选中页面上所有 <p> 元素(相当于 querySelectorAll) |
console.table(数组) | 把数据排成漂亮的表格,看数据神器 |
🧪 动手试试
- 按 Ctrl+Shift+J 打开控制台。
- 输入
document.title 回车 —— 应该显示本站标题。
- 输入
console.table(['🔍','🧩','💬']) 回车,欣赏一下表格。
第 4 关
🐞 源代码与断点 Sources —— 让时间暂停的法术
网页出了 Bug,日志看不懂?Sources 面板能让你在代码的任意一行按"暂停键",然后像看慢动作回放一样,逐行观察每个变量发生了什么。这就是专业程序员说的"打断点调试"。
🅿️ 打断点:只需一次点击
- Sources 面板 → 左侧找到网页的 JS 文件(Ctrl+P 可以按文件名快速搜索)。
- 代码被压缩成一坨时,点左下角 { }(Pretty-print)美化它。
- 点击行号,出现蓝色标记 = 断点已埋下。
- 刷新页面或触发对应操作,代码执行到这一行就会暂停!
ElementsConsoleSources
4●// ← 蓝色行号:代码执行到这里会暂停
5const total = items.reduce((s, i) => s + i.price, 0);
6return total;
暂停时:右侧 Scope 面板能看到每个变量的当前值;顶部按钮 = 单步执行(见下表)。按 F8 放行继续跑。
🎮 暂停之后的遥控器
| 按键 | 动作 | 意思 |
| F8 | 继续执行 | 放它跑,直到下一个断点 |
| F10 | 单步跳过 (Step over) | 执行当前行,不钻进函数内部 |
| F11 | 单步进入 (Step into) | 钻进函数内部,逐行看 |
| Shift+F11 | 跳出 (Step out) | 跑完当前函数,回到调用处 |
💾 彩蛋功能:本地替换 Local Overrides
第 2 关说过 Elements 的修改刷新就没。如果你想让修改刷新后依然生效(只对你自己的浏览器):Sources → Overrides → 点 "Select folder for overrides" 选一个本地文件夹并授权,之后在 Sources 里改文件就会自动保存,刷新、重新打开都生效。调试线上样式、做演示改稿的神器。
顺带一提:Sources → Snippets 可以存放你自己的小脚本,随写随跑,比每次粘贴到控制台方便。
🧪 动手试试
- 本页按 F12 → Sources → Ctrl+P 输入
index 打开本站文件。
- 随便点一个行号打断点,再刷新页面——代码会停在那一行(本站可能报暂停状态,正常!)。
- 按 F8 放行,再取消断点(再点一下行号)。
第 5 关
🌐 网络面板 Network —— 网页的每一笔"交易记录"
你每打开一个网页,浏览器都在背后疯狂"购物":HTML 文档、图片、字体、接口数据……Network 面板就是完整的小票:谁、什么时候、买了什么、花了多久。想看"网页背后调用了什么接口",靠的就是它。
🧾 看懂请求列表
NetworkElementsConsoleSources
| Name | Status | Type | Size | Time | Waterfall |
| index.html | 200 | document | 18 kB | 120 ms | |
| style.css | 200 | stylesheet | 6 kB | 45 ms | |
| api/news | 200 | fetch | 2 kB | 210 ms | |
| hero.png | 200 | image | 480 kB | 640 ms | |
瀑布图越长的条 = 加载越久。蓝色 document / 紫色 css / 绿色 fetch / 橙色 image,一眼定位大头。
- 状态码:200 成功;304 用了缓存;404 找不到资源;500 服务器出事了。红色行 = 失败请求。
- 过滤器:点 Fetch/XHR 只看接口请求——找"数据从哪来"时第一动作。
- 点任意请求 → 右侧/下方出现详情:Headers(请求头、地址)、Payload(发了什么参数)、Preview / Response(返回了什么内容)、Timing(时间都花在哪)。
- Preserve log:勾选后跳转到新页面记录不丢失;Disable cache:每次都拿最新资源。
- 限速模拟:把 "No throttling" 换成 Slow 3G,体验手机弱网用户的痛苦。
🕵️ 侦探的拿手好戏
想知道页面上的"今日金价""热搜榜"数据从哪来?打开 Network → 勾 Fetch/XHR → 刷新页面 → 逐个点请求看 Preview,看到眼熟的数字就破案了。这就是接口分析的起点,也是学爬虫前的必修课。
🧪 动手试试
- 打开任意新闻网站,按 F12 → Network 面板 → 刷新页面。
- 勾选 Fetch/XHR,数一数有几个接口请求。
- 点开一个请求,切到 Preview 看看返回的数据长什么样。
第 6 关
🗄️ 应用面板 Application —— 网站在你电脑上存了什么
网站会往你的浏览器里"存东西":登录状态、购物车、主题偏好、你迈过多少关卡……这些数据的藏身处和钥匙柜,就是 Application 面板(Safari 里叫 Storage)。
🧭 四大储物柜
| 储物柜 | 特点 | 典型用途 |
| Local Storage | 键值对存储,永久保留(除非手动清除) | 记住主题、教程进度、草稿 |
| Session Storage | 键值对,关掉标签页就没 | 一次性的表单临时数据 |
| Cookies | 小体积,每次请求自动随行发给服务器 | 登录凭证、个性化追踪 |
| IndexedDB / Cache Storage | 大容量数据库 / 缓存仓库 | 离线应用、PWA 缓存资源 |
🔦 现场实验:本站的进度就藏在这里!
没错——你在 F12 侦探学院的学习进度,就存在 localStorage 里。让我们用它当教材:
ApplicationNetworkElements
Storage
├─ Local Storage
│ └─ file://…/f12-academy
├─ Session Storage
├─ IndexedDB
└─ Cookies
| Key | Value |
| f12-academy-progress | {"v":1,"xp":120,"read":{"1":true},…} |
左侧点开 Local Storage → 选中本站 → 找到键 f12-academy-progress,双击 Value 甚至能改!
⚠️ 顺便理解了安全知识:任何 JS 脚本(包括恶意网页)都能读同源 localStorage,所以别在 localStorage 里存密码这类敏感信息——Cookie 更适合由服务器加 HttpOnly 保护。
🧪 动手试试
- 本页按 F12 → Application → 左侧 Local Storage。
- 找到本站,点开
f12-academy-progress 这一项。
- 看看你的 XP 数字——这就是你的"档案"。(改坏了就用首页"重置进度"按钮)
第 7 关
⚡ 性能分析 & Lighthouse —— 给网站做全身体检
页面卡、加载慢,谁的责任?Performance 面板负责"行车记录仪"式回放,Lighthouse 负责一键体检打分。
🎬 Performance:把卡顿录下来慢放
- 点面板里的齿轮/圆点开始录制 → 在页面上复现卡顿操作 → 点 Stop 停止。
- 看三样东西:顶部时间线(哪里最忙)、主线程火焰图(哪个函数占了最长条)、底部 Network 行(是不是网太慢)。
- 记住一个魔法数字:任务超过 50ms 就是"长任务 (Long Task)",用户就会感觉卡(浏览器理想帧间隔约 16.7ms)。
(这张图只是示意图——第 7 关的小游戏会让你亲手"点击揪凶"。)
🚦 Lighthouse:一键体检报告
Lighthouse 面板 → 选设备 → 点 Analyze page load,几十秒后出一份五维报告:
| 维度 | 检查什么 |
| Performance 性能 | 加载速度、可交互时间、布局抖动 |
| Accessibility 无障碍 | 图片有没有 alt、对比度够不够、能不能用键盘操作 |
| Best Practices 最佳实践 | 有没有过时 API、HTTPS、控制台报错 |
| SEO 搜索优化 | meta 描述、标题、链接可抓取性 |
分数颜色:🟢 90+ 优秀 / 🟠 50-89 及格线上 / 🔴 <50 该抢救了。每一条扣分项都附带改进建议,照着改就行。
🧪 动手试试
- 打开你最喜欢(或最怀疑)的网站 → Lighthouse 面板。
- 保持默认选项,点 Analyze page load,等待体检。
- 找到分数最低的维度,点开看一条建议——你已经会"开体检单"了。
第 8 关
📱 设备工具栏 —— 把浏览器变成任何手机
超过一半的人用手机上网,但你的电脑屏幕比手机宽得多——怎么测试手机效果?DevTools 的设备工具栏(Device Toolbar)就是一台"万能手机模拟器"。开关在 DevTools 左上角的 📱 图标,快捷键 Ctrl+Shift+M。
🖥️ 它能模拟什么
| 能力 | 说明 |
| 屏幕尺寸 | 选 iPhone、Pixel 等预设机型,或拖拽边缘自由调整宽度 |
| 触摸事件 | 鼠标点击会被当成触屏 tap,hover 变成长按 |
| 网络限速 | 模拟 3G/慢速网络,看页面在弱网下的表现 |
| 地理位置 | 菜单 ⋮ → More tools → Sensors,可伪造经纬度(测试"附近门店"功能神器) |
| 截图 | ⋮ → Capture full size screenshot,一键导出整页长图 |
📌 一个诚实的提醒
设备工具栏模拟的是尺寸、触屏和网络,但不是真手机芯片——最终上线前,还是建议用真机过一遍。它覆盖了日常 90% 的响应式调试需求。
🧪 动手试试
- 按 Ctrl+Shift+M 开启设备工具栏。
- 选一款手机机型,再切 "Responsive" 自己拖宽度。
- 试试 ⋮ 菜单里的 Capture full size screenshot,收下整页长图。
第 9 关 · 终极
🎓 毕业大考 —— 混合卷 + 专属毕业证书
一路走来到这里,你已经掌握了侦探的全部基础装备。最后一张 8 题混合卷,答对 6 题即可毕业,解锁你的专属毕业证书!
🎒 考前速查表(可当小抄,我们不设监考)
- F12 打开 DevTools;Ctrl+Shift+J 直达控制台;Ctrl+Shift+M 手机模拟;Ctrl+Shift+C 拾取元素
- 改网页外观 → Elements;看报错/跑代码 → Console;暂停代码找 Bug → Sources
- 找接口看数据 → Network(勾 Fetch/XHR);看存储/Cookie → Application
- 卡顿 → Performance(长任务 > 50ms);网站体检 → Lighthouse
- DevTools 的修改只影响你自己的浏览器,刷新即还原
🏆 成就墙
收集徽章的侦探,运气都不会太差。徽章条件达成时自动解锁。
📚 参考资料(资料出处汇总)
本站所有知识点均以下列官方文档为准,欢迎点击原文深入学习。
🔵 Chrome DevTools 官方文档(Google)
🟢 Microsoft Edge DevTools 官方文档
🟣 MDN Web Docs(Mozilla)
🖼️ 图片与素材出处
- 本站全部插画(吉祥物、手机、键盘、时间线等)均为内联 SVG 原创绘制,无外部版权风险。
- DevTools 仿真界面(深色窗口)为本站用 HTML/CSS 手工仿制,仅用于教学示意。
- 音效由 Web Audio API 实时合成,无外部音频文件。
🕵️ 关于本站
🧭 本站教的是什么?
本站教的是「浏览器开发者工具(DevTools)的使用」,不是 JavaScript 课程。学 F12 会顺带接触 HTML、CSS、JavaScript——Elements 面板对应 HTML/CSS,Console 和断点对应 JavaScript——但你不需要任何编程基础就能开始。
🌐 Chrome 和 Edge 通用吗?
通用。Edge 已采用 Chromium 内核,两家 DevTools 出自同一套开源代码,面板与快捷键几乎一致(Edge 额外有 3D View、Copilot AI 集成等小差异,见第 1 关)。本站所有内容两边浏览器都可以照做。
💾 技术说明
- 单文件网站:全部代码在这一个 HTML 里,双击即用,无需联网、无需安装。
- 学习进度用 localStorage 保存,只存在你自己的电脑上,不上传任何数据。
- 第 2、4 关等处引导你打开"真 F12"来操作本站本身——这是刻意设计:教程即教具。
🤝 使用建议
边玩边开一个真浏览器窗口对照操作,学完每一关做完全部练习和游戏再前进——通关率会高很多。祝毕业顺利,未来的网页侦探!🔍