【发布时间】:2020-05-01 12:59:04
【问题描述】:
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 jquery asp.net-core session-timeout