闲置/不活动 60 秒后重定向用户?

2024-03-23

如何在我的网站上使用 JavaScript 将用户重定向到/logout60 秒不活动后页面?

我知道设置计时器或使用元刷新标记很简单:但我只想重定向不活动的用户,而不是中断某人的活动会话/使用。

这可以用 JavaScript 实现吗?


您所需要的只是一个像这样的简单函数,而不是使用具有不必要的 Kbytes 的插件
(见评论中的解释):

<script>
(function() {

    const idleDurationSecs = 60;    // X number of seconds
    const redirectUrl = '/logout';  // Redirect idle users to this URL
    let idleTimeout; // variable to hold the timeout, do not modify

    const resetIdleTimeout = function() {

        // Clears the existing timeout
        if(idleTimeout) clearTimeout(idleTimeout);

        // Set a new idle timeout to load the redirectUrl after idleDurationSecs
        idleTimeout = setTimeout(() => location.href = redirectUrl, idleDurationSecs * 1000);
    };

    // Init on page load
    resetIdleTimeout();

    // Reset the idle timeout on any of the events listed below
    ['click', 'touchstart', 'mousemove'].forEach(evt => 
        document.addEventListener(evt, resetIdleTimeout, false)
    );

})();
</script>

如果您想重定向到主页(通常位于/), 改变'/logout' to '/':

    const redirectUrl = '/';  // Redirect idle users to the root directory

如果您想重新加载/刷新当前页面,只需更改'/logout'在上面的代码中location.href:

    const redirectUrl = location.href;  // Redirect idle users to the same page
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

闲置/不活动 60 秒后重定向用户? 的相关文章

随机推荐

  • 使用ajax url调用函数

    希望我能正确地问这个问题 因为我知道我想要它做什么 但似乎无法从搜索中找到任何答案 我有一个 func php 页面 其中包含所有函数 并且我希望 ajax 使用该页面中的一个函数 func php function toptable ec
  • Python DataFrame 从每日数据中选择每月增量的行

    让我们直接进入问题吧 以下为每日数据 AAA BBB CCC date 2012 04 16 44 48 28 48 17 65 2012 04 17 44 59 28 74 17 65 2012 04 18 44 92 28 74 17
  • CouchDB 对 _users 数据库的读/写限制

    我想限制用户权限 以便普通用户只能读 写自己的用户文档 我设法设置写入权限 以便用户只能编辑自己的文档 通过设计文档中的 validate doc update 函数 现在我只需限制用户查看用户列表或其他用户文档即可 如果我将数据库读取权限
  • 使用 Scala Slick 实现高阶函数,实现 DRY 优点

    我知道我的 Scala Slick 数据访问层应该是什么样子 但我不确定这是否真的可能 假设我有一个 User 表 其中包含 id 电子邮件 密码等常用字段 object Users extends Table String String
  • Sailsjs/waterline 指定模型中的小数位数

    我如何告诉我的帆模型我想要一些特定的小数位type float 属性 喜欢decimalPlaces 4或者类似的东西 问题是 当我向此条目发布值时 磁盘上的值会被截断为 00 数百 个地方 说我想要 3243 2352362按原样存储 目
  • ENOENT:没有这样的文件或目录。?

    这是发布数据和文件时出现的错误 我遵循 academind 教程来构建 Restful API 服务 我也一直在寻找此类错误的答案 但对我来说没有任何作用 我使用 multer 上传文件 文件夹 上传 在文件夹中可用 但显示 ENOENT
  • Tomcat context.xml 中的资源名称属性如何工作?

    我们正在使用 JNDI 来查找我们的数据库连接 在Tomcat的全局context xml文件中 我们有类似以下内容
  • 什么是 0x43 MIDI 事件?

    我正在尝试编写一个 MIDI 解析器 但我遇到了官方文档中未记录的 MIDI 事件 即http www midi org techspecs midimessages php http www midi org techspecs midi
  • PostgreSQL:间隔“10 天”和当前行之间的范围

    我有一张表 用于存储每件商品的每日价格 如果价格尚未更新 则当天没有该商品的记录 我需要编写一个查询 为每个商品检索最新价格 并具有从当前行日期起 10 天的回溯窗口 否则返回NULL 我想用一个来实现这一点RANGE BETWEEN IN
  • 在 REST Assured 中,如何设置超时?

    我正在使用 RestAssured 2 8 0 我正在尝试设置自己的超时 用于网关超时 因此 如果我在 X 毫秒后没有得到响应 我想中止 I tried public static ValidatableResponse postWithC
  • 使用另一种类型过滤一种类型的键

    我正在尝试创建一种类型 如果它们不出现在另一种类型中 则该类型将递归地排除一种类型中的键 例如 给定两种类型 type TargetType a true b c true d true type InputType a string b
  • Cordova 无法添加 Android 失败,退出代码为 ENOENT

    I am trying to create an Android project with Cordova however i am getting an ENOENT error although i followed the tutor
  • 如何让 emacs 正确显示多字节编码文件?是骡子吗?

    当我打开多字节文件时 我得到 短期内 您可以使用备用编码系统重新访问该文件revert buffer with coding system 然后选择utf 16le 从中期来看 您可以在加载时提高 utf 16le 编码的优先级prefer
  • 获取全文搜索配置语言的完整列表

    to tsvector 支持多种语言 英语 德语 法语 如何获得这些语言的完整列表 有手册中的说明 https www postgresql org docs current textsearch psql html如何使用 psql 检索
  • 在发送给用户之前重命名文件?

    这可能是一个非常简单和愚蠢的问题 但我不知道我会如何去做 我正在用 PHP 为客户端站点构建一些文件托管功能 我在一个目录中有一个中央文件存储库 这是因为如果多人上传同一文件 客户端希望维护每个文件的一份副本 基于文件的 哈希 文件在转储到
  • 使用 SSE 内在函数时如何确保 NaN 传播?

    我最近读到了这篇关于NaNSSE 算术运算中的值 对两个非数字 NAN 参数进行算术运算的结果是未定义的 因此 使用 NAN 参数的浮点运算将与相应汇编指令的预期行为不匹配 Source http msdn microsoft com en
  • 如何在 Spring Data REST 中添加根资源的链接?

    如何在中公开外部资源 不通过存储库管理 资源的根列表Spring Data REST 的 我按照以下模式定义了一个控制器休息金 https github com olivergierke spring restbucks blob mast
  • Chunky 界面含义

    在我正在阅读的 应用程序架构设计 一书中 我发现了以下说法 为了减少往返并提高 通讯性能 设计 厚实的接口 谁能解释一下 厚重的界面 是什么意思 基本上 它是指一次调用中传输的数据量 例如 如果您想从服务器获取一组数据 而不是询问 GetR
  • Geckoview 获取麦克风权限

    我正在尝试使用 GeckoView 元素内网站的录音功能 因此我在 AndroidManifest xml 中设置了权限
  • 闲置/不活动 60 秒后重定向用户?

    如何在我的网站上使用 JavaScript 将用户重定向到 logout60 秒不活动后页面 我知道设置计时器或使用元刷新标记很简单 但我只想重定向不活动的用户 而不是中断某人的活动会话 使用 这可以用 JavaScript 实现吗 您所需