Settimeout - Asp页面中的框架集

时间:2009-08-17 09:36:02

标签: asp-classic settimeout frameset

经典页面包含4个框架集。如果所有4帧集都处于非活动状态,则超时登录页面。如何设置带有框架集的经典asp页面的超时。

2 个答案:

答案 0 :(得分:1)

默认会话超时为20分钟。您可以通过添加以下代码来更改它

Session.Timeout (= intMinutes)
ex: Session.Timeout= 10

在你的asp页面中。

答案 1 :(得分:0)

你可以在你的页面中有一些JS,它会计入你的会话超时时间(请参阅Shobans的答案,了解如何设置)。然后,如果JS超时(即达到其会话超时),那么您可以将它们(客户端)重定向到您的登录页面,从而在您执行此操作时将其删除。这样的事情应该这样做:

<script type="text/javascript">

// Get the current server side timeout (times 1000 to convert it into JS milliseconds
var timeout = <%= Session.TimeOut * 1000 %>;

// This is the function that does the framebusting and redirecting to your login page
function GoToLogin() {
  top.location.replace( "yourloginpage.asp" );
}

// Set it up to run when the timeout expires
setTimeout( GoToLogin, timeout );

</script>

如果您的用户做了任何重新加载页面的事情,那么您的计时器会重置,很好。不要把它放在你的所有框架中,你只需要在你的主框架中,你不希望它在导航框架中可能无法获得任何动作,你将永远超时!

添加可能是让页面只刷新自己,如果超时则服务器端代码可以将用户重定向到登录页面(这会出现在框架中,所以你的登录页面需要一个无论如何都会使用上面的top.location技巧。)