javascript - 一段时间后重定向到另一个页面
问题描述
我正在构建一个测验应用程序,所以我必须在时间到期后结束测试。
我存储:
- 用户加入的初始时间
- 用户必须结束会话的最后时间都以毫秒为单位
我怎么知道时间到了以便我重定向用户?
解决方案
您可以使用setTimeout()
一段时间后执行代码。
const second = 1000;
const minute = 60 * second;
const hour = 60 * minute;
const allowed_time = 2 * hour + 15 * minute;
setTimeout(function () {
// redirect user
}, allowed_time);
或者,如果您没有持续时间,而是具体的结束时间。
const allowed_time = Date.UTC(2021, 8, 9, 17, 30) - Date.now(); // 21-08-17 17:30
此答案假定您不超过最大延迟值。
最大延迟值
包括 Internet Explorer、Chrome、Safari 和 Firefox 在内的浏览器在内部将延迟存储为 32 位有符号整数。当使用大于 2,147,483,647 毫秒(约 24.8 天)的延迟时,这会导致整数溢出,从而导致立即执行超时。
推荐阅读
- mercurial - 放弃 Mercurial 话题
- node.js - 通过 socket io 客户端连接到服务器
- javascript - JS - 每 5 秒显示一次 div,带有淡入淡出效果和关闭按钮
- php - 你会如何每 30 分钟循环一次
- reactjs - Chrome 开发者工具控制台不显示文件名
- android - 在 Android Studio 上查看布局时出现问题
- amazon-web-services - AWS Authorizer 请求标头为空
- javascript - 道具类型失败:提供给“TextInput”的“对象”类型的道具“值”无效
- linux - POSIX中的`write`序列化
- html - html 文件 src 路径错误和 404 未找到