求思路 我想实现一个功能就是,页面如果不操作20分钟,自动跳转到一个地方。就像电脑的屏保一样。 说明:不是在操作的时候跳转,可能需要个定时器,但是不知道怎么弄。 web项目。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 js每次刷新的时候清零开始计时,到20分钟了自动跳转var sec=0;var min=0;var hou=0;flag=0;idt=window.setTimeout("ls();",1000);function ls(){sec++;if(sec==60){sec=0;min+=1;}if(min==60){min=0;hou+=1;}document.getElementById("lbltime").innerText=min+"分"+sec+"秒";idt=window.setTimeout("ls();",1000);if(min==20){ document.getElementById("btnsubmit").click();//或者跳转到你指定的页面} 如果他有操作定时器要重新开始,比如说你有ajax 请求。你就需要重新开始计时。但是你不能每个方法,没个页面都加吧,这样太麻烦了。 有一个办法。需要服务器上部署两个站点。A站点是你的网站,配置session失效时间20分钟。在session失效的时候,往数据库里面做一个记号。客户端javascript不断轮询B站点,B站点从数据库中读取这个记号,发现存在,报告客户端,客户端收到信息,就刷新。 弄出来了 public void httpApplication_PostMapRequestHandler(Object source, EventArgs e) { HttpApplication httpApplication = (HttpApplication)source; if (httpApplication.Context.Handler is Page) { Page page = (Page)httpApplication.Context.Handler; if (page.GetType().Name.ToLower() == "default_aspx" || page.GetType().Name.ToLower() == "duty_aspx" || page.GetType().Name.ToLower() == "honor_aspx" || page.GetType().Name.ToLower() == "weather_aspx") { XElement root = XElement.Load(httpApplication.Context.Server.MapPath("config.xml")); int timeout = Convert.ToInt32(root.Element("timeout").Value) * 60 * 1000; page.ClientScript.RegisterStartupScript(page.GetType(), "Module", "window.setTimeout(\"TimeRedirt();\"," + timeout.ToString() + ");", true); } } } 上传大图片时怎么不能执行后台啊,直接是无法连接,为什么啊? 鼠标移动到特定位置显示特定信息 求一个密码正则表达式 如何让VB的函数参数显示中文注释?? 请问用日期控件能否实现只显示从当前日期往后7天 求助! 关于ASP.NET 关于用户注册时上传自定义头像的问题!路过请指教 用户验证问题 请教如何写这样一个正则表达式? 服务器控件中怎么弹出另一个model窗口?参数如何传递?在线等待,谢谢! ICTCLAS 自定义词典文件怎么做 非常诡异的问题
var min=0;
var hou=0;
flag=0;
idt=window.setTimeout("ls();",1000);
function ls()
{
sec++;
if(sec==60){sec=0;min+=1;}
if(min==60){min=0;hou+=1;}
document.getElementById("lbltime").innerText=min+"分"+sec+"秒";
idt=window.setTimeout("ls();",1000);
if(min==20)
{
document.getElementById("btnsubmit").click();//或者跳转到你指定的页面
}
客户端javascript不断轮询B站点,B站点从数据库中读取这个记号,发现存在,报告客户端,客户端收到信息,就刷新。
{
HttpApplication httpApplication = (HttpApplication)source;
if (httpApplication.Context.Handler is Page)
{
Page page = (Page)httpApplication.Context.Handler; if (page.GetType().Name.ToLower() == "default_aspx" || page.GetType().Name.ToLower() == "duty_aspx"
|| page.GetType().Name.ToLower() == "honor_aspx" || page.GetType().Name.ToLower() == "weather_aspx")
{
XElement root = XElement.Load(httpApplication.Context.Server.MapPath("config.xml"));
int timeout = Convert.ToInt32(root.Element("timeout").Value) * 60 * 1000;
page.ClientScript.RegisterStartupScript(page.GetType(), "Module", "window.setTimeout(\"TimeRedirt();\","
+ timeout.ToString() + ");", true);
}
} }