前端急救 · 5 分钟排查法

页面打开是空白?
先查这 6 个地方

控制台报错、CSS 把内容藏住、路径写错、脚本执行太早,都会让页面看起来“完全没加载”。按顺序检查,通常 3 分钟能定位。

脚本先报错

一个 Uncaught TypeError 就可能中断后面的 JS。

内容被隐藏

display:none、opacity:0、白字白底最常见。

文件没找到

路径、大小写、index.html、缓存都可能背锅。

按顺序排查

1先开控制台,看红色报错+

按 F12 或右键“检查”,切到 Console / 网络面板。优先修复第一条红色错误。

// 不要直接操作还没出现的节点
document.addEventListener('DOMContentLoaded', () => {
  const app = document.querySelector('#app');
  if (app) app.textContent = '内容已渲染';
});
2确认不是 CSS 把内容藏了+

临时禁用样式表,或检查 display:none、visibility:hidden、opacity:0、color:white、z-index 和遮罩层。

/* 诊断:先看元素是否存在、是否可见 */
const el = document.querySelector('#app');
console.log(el, getComputedStyle(el).display, getComputedStyle(el).visibility);
3检查路径、文件名和编码+

确认实际入口是 index.html,相对路径没有大小写问题,文件不是 0 KB,服务器返回的是 HTML 而不是源码。

# 终端快速确认
ls -lh index.html
file index.html
# Windows 可用 PowerShell
Get-Content index.html -TotalCount 5
4检查 JS 是否执行、变量是否存在+

在脚本开头加 console.log('js ok')。如果没输出,检查 script 的 src、defer、语法错误和加载顺序。

<script src="main.js" defer></script>
<script>console.log('js ok', typeof main);</script>
5异步请求、跨域和 Promise+

Network 面板看接口是否 404 / 500 / CORS。异步失败也要捕获,否则页面可能停在 loading。

window.addEventListener('unhandledrejection', e => {
  console.error('Promise 失败:', e.reason);
});
fetch('/api/data').then(r => r.json()).catch(console.error);
6缓存、浏览器和服务器配置+

强制刷新、开无痕窗口、换浏览器。服务器检查 Content-Type: text/html、Gzip / 反向代理和静态文件权限。用 file:// 打开时,部分 API 会被浏览器拦截。

# 常见 HTTP 头
Content-Type: text/html; charset=utf-8
Cache-Control: no-store  # 排查阶段先禁用缓存

当前页面自检

这只是对当前帮助页的快速检查,不是对你目标页面的完整诊断。

点击“检测当前页面”,在这里查看结果。

控制台出现这些关键词?

Uncaught TypeError Failed to load resource 404 / 500 CORS policy ERR_FILE_NOT_FOUND Blocked by client

最后一招:强制刷新

先清除浏览器缓存,再试无痕模式。

Ctrl+Shift+RWindows⌘+Shift+RmacOS
已复制