asp.net在用户闲置或没有活动时刷新页面

12 浏览
0 Comments

asp.net在用户闲置或没有活动时刷新页面

我在我的一个项目中使用了来自如何在一段不活动时间后自动重新加载页面的代码,它起作用了,但是现在我把它放到我的当前项目中却不起作用,我不知道为什么,它们是不同的项目,但它们最终只是两个网页表单(aspx页面)???

这段代码应该每分钟刷新页面,除非有人按键或移动鼠标。

    

控制台报错:

Uncaught ReferenceError: $ is not defined 

=> $(document.body).bind("mousemove keypress", function (e) {

我在aspx页面上使用的引用:

    















//此处为我的页面代码
 














有没有可行的解决方案?我对JS或JQuery一窍不通,但如果你告诉我它是如何工作的,我可以将其应用到我的程序中(哈哈)

0
0 Comments

问题原因:使用此代码之前必须先引入JQuery库。

解决方法:

1. 在页面顶部引入JQuery库:


2. 在代码中使用以下代码来实现刷新页面:

var idleTime = 0;
$(document).ready(function () {
    // 定义用户空闲时间
    var idleInterval = setInterval(timerIncrement, 60000); // 1分钟
    // 用户活动时重置空闲时间
    $(this).mousemove(function (e) {
        idleTime = 0;
    });
    $(this).keypress(function (e) {
        idleTime = 0;
    });
});
// 用户空闲时间递增,超过设定时间后刷新页面
function timerIncrement() {
    idleTime = idleTime + 1;
    if (idleTime > 4) { // 4分钟
        location.reload();
    }
}

以上代码将在用户连续一分钟没有任何鼠标移动或按键操作时,开始计算用户空闲时间。当用户空闲时间超过四分钟时,将自动刷新页面。

0
0 Comments

asp.net refresh page if user idle or no activity问题的出现是因为没有包含JQuery JavaScript库。解决方法是在脚本前添加像下面这样的代码:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>

感谢!我确实有添加这个代码,但是我将它放在页面底部,所以它不起作用,将其移到顶部后就可以了。

0