我们有一个遗留的应用程序(混合了经典的ASP和ASP.net),其中有一些Ajax内容丰富的页面。期望是站点的用户在页面上执行一系列任务,可能需要相当长的时间,比如15-30分钟。
其中一个要求是,在站点登录的用户在15分钟内不活动后自动注销。目前通过使用元标记来实现,即在页面上15分钟不活动后将用户重定向到注销页面。
问题在于,浏览器认为页面上没有任何活动,尽管与服务器进行了许多AJAX交互。因此,在浏览器认为的15分钟不活动之后,即使用户正在做某事,他们也会被自动注销。
受消息板帖子的启发,我们尝试通过使用javascript(JQuery)来解决这个问题。
下面的内容将是事件处理程序,例如单击页面上的保存等。为简单起见,这里是页面加载以修改刷新时间为5秒钟。
其中一个要求是,在站点登录的用户在15分钟内不活动后自动注销。目前通过使用元标记来实现,即在页面上15分钟不活动后将用户重定向到注销页面。
问题在于,浏览器认为页面上没有任何活动,尽管与服务器进行了许多AJAX交互。因此,在浏览器认为的15分钟不活动之后,即使用户正在做某事,他们也会被自动注销。
受消息板帖子的启发,我们尝试通过使用javascript(JQuery)来解决这个问题。
下面的内容将是事件处理程序,例如单击页面上的保存等。为简单起见,这里是页面加载以修改刷新时间为5秒钟。
$(document).ready(function() {
var selector = 'meta[name=Refresh]';
var content = $(selector).attr("content"); //"900;URL=/someurl/logout.asp"
$(selector).attr("content", "5;URL=/someurl/logout.asp");
});
意图是重新设置元标记内容,页面刷新计时器将被重置。不幸的是,在IE中似乎无法正常工作。
由于这是一个传统应用程序,一些决策,例如使用元标记等已经固定下来。问题是,有没有办法让元标记刷新与Ajax应用程序和平共存?我是否做错了什么,有没有解决这个问题的方法?