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
});
请提出解决方案。谢谢