Meta 标签自动刷新跳转
trycoding.fun

Meta 标签自动刷新跳转

使用 meta 标签实现页面自动刷新和跳转

问题

如何使用 HTML 的 meta 标签实现页面自动刷新或跳转?

解答

自动刷新

使用 http-equiv="refresh" 可以让页面在指定秒数后自动刷新:

<!-- 每 5 秒刷新一次页面 -->
<meta http-equiv="refresh" content="5">

自动跳转

添加 url 参数可以实现定时跳转到其他页面:

<!-- 3 秒后跳转到指定页面 -->
<meta http-equiv="refresh" content="3; url=https://example.com">

完整示例

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <!-- 5 秒后跳转到新页面 -->
  <meta http-equiv="refresh" content="5; url=./target.html">
  <title>页面跳转示例</title>
</head>
<body>
  <p>页面将在 5 秒后自动跳转...</p>
</body>
</html>

立即跳转

将时间设为 0 可实现立即跳转:

<!-- 立即跳转 -->
<meta http-equiv="refresh" content="0; url=https://example.com">

JavaScript 替代方案

实际开发中更推荐使用 JavaScript:

// 定时刷新
setTimeout(() => {
  location.reload();
}, 5000);

// 定时跳转
setTimeout(() => {
  location.href = 'https://example.com';
}, 3000);

// 立即跳转
location.replace('https://example.com');

关键点

  • content 属性的数字表示等待秒数,url 指定跳转地址
  • 时间和 URL 之间用分号和空格分隔:content="秒数; url=地址"
  • 设置 content="0" 可实现立即跳转
  • meta 刷新对 SEO 不友好,搜索引擎可能不识别
  • 生产环境推荐使用 JavaScript 或服务端 301/302 重定向