0

0

如何在 HTML 页面中基于指定日期自动重定向到新页面

聖光之護

聖光之護

发布时间:2026-02-16 11:56:03

|

975人浏览过

|

来源于php中文网

原创

如何在 HTML 页面中基于指定日期自动重定向到新页面

本文介绍如何使用 javascript 在网页中实现“到达指定日期后自动跳转至另一页面”的功能,重点解决日期格式错误导致重定向失效的问题,并提供健壮、可部署的完整代码示例。

本文介绍如何使用 javascript 在网页中实现“到达指定日期后自动跳转至另一页面”的功能,重点解决日期格式错误导致重定向失效的问题,并提供健壮、可部署的完整代码示例。

在前端开发中,有时需要为活动页、倒计时页或临时维护页设置“过期自动跳转”逻辑——例如:促销页面仅在 2023 年 8 月 5 日 00:00 前有效,之后自动跳转至新版首页或公告页。这看似简单,但一个细微的日期格式错误(如 2023-08-5 缺少补零)就可能导致 new Date() 解析失败,返回 Invalid Date,进而使条件判断 currentdate > dateAfter 恒为 false,重定向完全不生效。

以下是一个修复并优化后的完整实现方案:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
  <title>限时页面</title>
  <script>
    // ✅ 正确的 ISO 8601 格式:年-月-日(月/日必须两位,如 08 而非 8)
    const redirectDate = new Date('2023-08-05T00:00:00');

    // ⚠️ 安全检查:确保日期有效
    if (isNaN(redirectDate.getTime())) {
      console.error('重定向日期格式错误,请使用 YYYY-MM-DDTHH:mm:ss 格式');
      // 可选:此处可 fallback 到默认行为(如不跳转或显示提示)
      exit;
    }

    const now = new Date();

    // ✅ 使用 getTime() 进行毫秒级精确比较(更可靠)
    if (now.getTime() > redirectDate.getTime()) {
      // ? 添加防循环跳转保护(避免 redirect.html 再次执行相同脚本)
      if (window.location.href.indexOf('redirect.html') === -1) {
        window.location.replace('redirect.html'); // 推荐使用 replace() 避免用户能回退到原页
      }
    }
  </script>
</head>
<body>
  <h1>欢迎访问限时活动页</h1>
  <p>本页面将于 2023 年 8 月 5 日 00:00 后自动跳转。</p>
</body>
</html>

关键要点说明

今天学点啥
今天学点啥

秘塔AI推出的AI学习助手

下载

立即学习前端免费学习笔记(深入)”;

  • 日期格式必须严格:new Date('2023-08-05T00:00:00') 中的月份和日期必须为两位数(08 而非 8),否则部分浏览器(尤其是 Safari 和旧版 IE)会解析失败,返回 Invalid Date;
  • 使用 getTime() 比较:避免直接用 > 比较 Date 对象(虽多数情况可行),getTime() 返回毫秒时间戳,语义清晰且兼容性最佳;
  • 优先使用 location.replace():它用新页面替换当前页面历史记录,防止用户点击「返回」按钮重新触发跳转逻辑;
  • 添加 isNaN() 校验:防御性编程,避免因配置错误导致脚本静默失败;
  • 避免重复执行:通过 indexOf('redirect.html') 判断当前 URL,防止目标页误加载脚本造成无限跳转。

? 进阶建议

  • 若需支持时区敏感场景(如按北京时间而非本地时间跳转),建议使用 new Date('2023-08-05T00:00:00+08:00') 显式声明时区;
  • 生产环境推荐将跳转逻辑封装为独立函数,并配合 DOMContentLoaded 或延迟执行(如 setTimeout(..., 0)),确保 DOM 就绪后再运行;
  • 对于高可靠性需求(如法律公告页),建议同时在服务端(如 Nginx 或 Node.js)设置重定向规则,实现前后端双重保障。

掌握这一模式,你不仅能快速实现时间驱动的页面跳转,更能建立起对 JavaScript 日期处理与前端导航控制的扎实理解。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
nginx 重启
nginx 重启

nginx重启对于网站的运维来说是非常重要的,根据不同的需求,可以选择简单重启、平滑重启或定时重启等方式。本专题为大家提供nginx重启的相关的文章、下载、课程内容,供大家免费下载体验。

239

2023.07.27

nginx 配置详解
nginx 配置详解

Nginx的配置是指设置和调整Nginx服务器的行为和功能的过程。通过配置文件,可以定义虚拟主机、HTTP请求处理、反向代理、缓存和负载均衡等功能。Nginx的配置语法简洁而强大,允许管理员根据自己的需要进行灵活的调整。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

515

2023.08.04

nginx配置详解
nginx配置详解

NGINX与其他服务类似,因为它具有以特定格式编写的基于文本的配置文件。本专题为大家提供nginx配置相关的文章,大家可以免费学习。

566

2023.08.04

tomcat和nginx有哪些区别
tomcat和nginx有哪些区别

tomcat和nginx的区别:1、应用领域;2、性能;3、功能;4、配置;5、安全性;6、扩展性;7、部署复杂性;8、社区支持;9、成本;10、日志管理。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

238

2024.02.23

nginx报404怎么解决
nginx报404怎么解决

当访问 nginx 网页服务器时遇到 404 错误,表明服务器无法找到请求资源,可以通过以下步骤解决:1. 检查文件是否存在且路径正确;2. 检查文件权限并更改为 644 或 755;3. 检查 nginx 配置,确保根目录设置正确、没有冲突配置等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

478

2024.07.09

Nginx报404错误解决方法
Nginx报404错误解决方法

解决方法:只需要加上这段配置:try_files $uri $uri/ /index.html;即可。想了解更多Nginx的相关内容,可以阅读本专题下面的文章。

3585

2024.08.07

nginx部署php项目教程汇总
nginx部署php项目教程汇总

本专题整合了nginx部署php项目教程汇总,阅读专题下面的文章了解更多详细内容。

49

2026.01.13

nginx配置文件详细教程
nginx配置文件详细教程

本专题整合了nginx配置文件相关教程详细汇总,阅读专题下面的文章了解更多详细内容。

65

2026.01.13

pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法

本专题系统整理pixiv网页版官网入口及登录访问方式,涵盖官网登录页面直达路径、在线阅读入口及快速进入方法说明,帮助用户高效找到pixiv官方网站,实现便捷、安全的网页端浏览与账号登录体验。

145

2026.02.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3.3万人学习

AngularJS教程
AngularJS教程

共24课时 | 3.6万人学习

CSS教程
CSS教程

共754课时 | 32万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号