自举会话超时,外部重置计时器

时间:2020-01-14 18:42:41

标签: javascript jquery asp.net-core session-timeout

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
                });
            });  

因此,我们不关注用户活动,并且弹出窗口总是同时出现。 但是现在,我们有了3rd party的东西(在单独的窗口中进行在线聊天)。 因此,如果仅用户聊天,计时器将结束并显示引导程序弹出窗口。 该任务不仅要向控制器的KeepSessionAlive方法发送ping,还要重置会话超时插件中的计时器。

例如,如果不进行任何操作,插件的弹出窗口会在11分30秒出现。例如,如果我在2分钟内更新了计时器并发出ping命令,则弹出窗口应在13分30秒处出现。

以下是第三方聊天中的事件监听器:

window.addEventListener('message', function (event) {
                    // Ping server and update timer here
                });

请提出解决方案。谢谢

1 个答案:

答案 0 :(得分:0)

通过事件处理解决了该问题 How to trigger event in JavaScript?

但是很高兴听到其他解决方案,因为几乎整整一天都在用:(

相关问题