1

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

4

2 回答 2

1

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

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

在您的 asp 页面中。

于 2009-08-17T09:40:27.343 回答
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 技巧)。

于 2009-08-17T18:22:29.487 回答