javascript - 引导会话超时,外部重置计时器
问题描述
https://github.com/orangehill/bootstrap-session-timeout 在 _Layout.cshtml 中有我们使用的 jquery 插件进行这样的初始化
$(document).ready(function () {
$.sessionTimeout({
keepAliveUrl: '/Account/KeepSessionAlive/',
logoutUrl: '/Account/LogOff/',
redirUrl: '/Account/SessionExpired/',
ignoreUserActivity: true,
warnAfter: 700000,
redirAfter: 720000,
countdownBar: true,
keepAliveInterval: 1000000
});
});
因此,我们不关注用户活动,并且弹出窗口总是同时出现。但是现在,我们有了第 3 方的东西(在单独的窗口中在线聊天)。因此,如果用户仅聊天,则计时器结束并显示引导弹出窗口。任务不仅是向控制器的 KeepSessionAlive 方法发送 ping,还要重置会话超时插件内部的计时器。
例如,如果不触摸任何东西,插件的弹出窗口会在 11 分 30 秒出现。例如,如果我在 2 分钟更新计时器并发布 ping,则弹出窗口应出现在 13 分 30 秒。
这是来自第 3 方聊天的事件监听器:
window.addEventListener('message', function (event) {
// Ping server and update timer here
});
请提出解决方案。谢谢
解决方案
通过事件处理修复了 如何在 JavaScript 中触发事件?
但是很高兴听到另一种解决方案,因为几乎一整天都在用这个:(
推荐阅读
- python - Python 'RequestsHandler' 对象没有属性 'filters'
- .net - 使用 DI 时如何新建对象
- javascript - 显示来自 API 的非 JSON 响应
- ios - iOS:这是检查 JSON 字典对象是否为 NSString 的好方法吗?
- javascript - 使用 Jasmine Sequelize TypeError 进行测试:_models2.default.count 不是函数
- algorithm - 寻找具有 o-small(n) 复杂度的第一个较大整数的算法
- java - 为什么无法在 Java 中使用 if 语句构建二进制信号量
- php - 使用记录值作为 Twig 函数参数
- java - 基于spring jpa中的外键关联更新表中的值
- c# - 在 Web 应用程序中使用智能卡对 PDF 进行数字签名