我们有一个遗留应用程序(经典 ASP 和 ASP.net 的混合),它有一些 Ajax 内容丰富的页面。期望站点的用户在页面上执行一组可以跨越相当长的时间的任务,15-30 分钟。
其中一项要求是登录网站的用户在 15 分钟不活动后自动注销。这目前是通过使用元标记来实现的,用于在页面处于非活动状态 15 分钟后将用户重定向到注销页面。
<meta name='Refresh' http-equiv="Refresh" content="900;URL=/someurl/logout.asp">
我们遇到的问题是浏览器认为页面上没有任何活动,尽管与服务器进行了许多 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 应用程序和平共存?我做错了什么,有没有办法解决这个问题?