是HTML5中唯一不依赖JavaScript的原生定时刷新或跳转方案,仅适合极简静态页;需置于中,格式为content="秒数; url=目标"(分号后必须空格),但存在SEO差、bfcache失效、无法暂停、破坏SPA路由等严重缺陷,现代项目不应常规使用。

是 HTML5 中唯一不依赖 JavaScript 的原生定时刷新或跳转方案,但它仅适合极简静态场景,**不能作为现代项目的常规选择**。
定时自动刷新当前页
只写秒数,不带 url=:
<meta http-equiv="refresh" content="5">
表示每 5 秒重新请求并加载当前页面。
- 刷新从 HTML 解析开始计时,不等 DOM 加载完成
- 不会保留表单输入、滚动位置或临时状态
- 若需强制绕过缓存,建议额外加:
<meta http-equiv="cache-control" content="no-cache">
定时跳转到其他页面
必须用分号 + 空格分隔秒数和 URL:
<meta http-equiv="refresh" content="3; url=/dashboard.html">
-
content值格式严格:"秒数; url=目标地址",中间的空格不可省略 - 目标 URL 支持相对路径(以当前 HTML 文件所在目录为基准)或完整 URL
- 写成
content="0; url=/home"会立即跳转,但多数浏览器会弹出“页面即将跳转”提示,且易被安全策略拦截
常见错误与限制
- ❌
content="3;url=/login"(缺空格)→ 部分旧浏览器或移动端 WebView 可能忽略 - ❌
content="3; url=login.html"(相对路径在子目录下可能拼错)→ 实际跳转成/admin/login.html而非预期路径 - ❌ 多个
标签 → 浏览器通常只响应第一个,其余无效 - ❌ 放在
或末尾 → 必须置于内、之后才可靠,IE 等旧浏览器尤其敏感
为什么它越来越不被推荐
- 用户无法暂停、取消或跳过跳转,违反可访问性原则(WCAG 2.2.1)
- 每次跳转都会新增一条历史记录,点「返回」可能回到同一页面再刷一次,造成死循环
- 搜索引擎可能降权,尤其
content="0"易被识别为跳转作弊 - Chrome 95+ 已禁用后退缓存(bfcache),用户返回时可能白屏或重复刷新
- 单页应用(React/Vue)中使用会破坏路由状态,整页重载丢失应用上下文
基本上就这些。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











