gpt4 book ai didi

c# - 用于 session 超时的javascript倒数计时器

转载 作者:搜寻专家 更新时间:2023-11-01 05:14:56 24 4
gpt4 key购买 nike

我想提醒用户 session 超时即将到期。我想要一个带有确定按钮的弹出窗口,并在弹出窗口上显示秒数。我可以只用 java 脚本来做到这一点吗?我也可以在后面使用 C# 代码。

现在它检测到 session 超时并弹出窗口告诉他们 session 已过期。

<script type="text/javascript">
var sessionTimeout = "<%= Session.Timeout %>";

function DisplaySessionTimeout() {
sessionTimeout = sessionTimeout - 1;

if (sessionTimeout >= 0)
window.setTimeout("DisplaySessionTimeout()", 60000);
else {
alert("Your current Session is over due to inactivity.");
}
}
</script>

最佳答案

是的,您可以通过 JavaScript 执行此操作。这是一个简单的计数器实现 that was inspired from this StackOverflow answer我前一段时间发现:

function Counter(options) {
var timer;
var instance = this;
var seconds = options.seconds || 10;
var onUpdateStatus = options.onUpdateStatus || function() {};
var onCounterEnd = options.onCounterEnd || function() {};
var onCounterStart = options.onCounterStart || function() {};

function decrementCounter() {
onUpdateStatus(seconds);
if (seconds === 0) {
stopCounter();
onCounterEnd();
return;
}
seconds--;
};

function startCounter() {
onCounterStart();
clearInterval(timer);
timer = 0;
decrementCounter();
timer = setInterval(decrementCounter, 1000);
};

function stopCounter() {
clearInterval(timer);
};

return {
start : function() {
startCounter();
},
stop : function() {
stopCounter();
}
}
};

...以及如何使用它的示例:

var countdown = new Counter({
// number of seconds to count down
seconds: 3,

onCounterStart: function () {
// show pop up with a message
...
},

// callback function for each second
onUpdateStatus: function(second) {
// change the UI that displays the seconds remaining in the timeout
...
},

// callback function for final action after countdown
onCounterEnd: function() {
// show message that session is over, perhaps redirect or log out
...
}
});
countdown.start();

一旦服务器准备好提醒用户,只需创建计时器,它就会开始倒计时。您可以自定义每个事件发生的情况:计时器何时开始、秒数何时结束以及倒计时何时结束。

关于c# - 用于 session 超时的javascript倒数计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9755706/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com