function makeRequest() {
var guid = rnd();
//记住给个随机数,不然的话有缓存
var url = "example_b.aspx?id=" + guid;
createXMLHttpRequest();
xmlHttp.onreadystatechange = handleRefresh;
xmlHttp.open("GET", url, false);
xmlHttp.send(null);
}
//创建xmlHttp
var xmlHttp;
function createXMLHttpRequest() {
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
}
}
//返回信息
function handleRefresh() {
if (xmlHttp.readyState == 4) {
if (xmlHttp.status == 200) {
if (xmlHttp.responseText == "sessionNull") {
//alert('登录超时,帐户注销,请重新登录...');
window.parent.document.location = "UserLogin.aspx";
}
setTimeout("makeRequest()", 8*000);
}
}
}
//创建随机数
rnd.today = new Date();
rnd.seed = rnd.today.getTime();
function rnd() {
rnd.seed = (rnd.seed * 9301 + 49297) % 233280;
return rnd.seed / (233280.0);
}
function rand(number) {
return Math.ceil(rnd() * number);
}
举个例子,比如说要example_a.aspx页面加载以后让测试页面example_b.aspx每8秒刷新一次,检查存放登录用户名的session值是否为空,如果session为空,则返回登录页面。那么我们可以将上面的js代码放在example_a.aspx页面的
标记之间,然后在页面body的onload事件中调用上面的方法:οnlοad="makeRequest()",然后在页面的Page_Load事件中判断:
if (Session["user"] == null)
Code
{
Response.Clear();
Response.Write("sessionNull");
Response.End();
}