博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jsp页面跳转
阅读量:2231 次
发布时间:2019-05-09

本文共 2326 字,大约阅读时间需要 7 分钟。

window.history.back(-1)

window.history.back();window.history.forward()window.history.go(-1)
 
 

javascript:history.go(-1)和javascript:history.back(-1)

go(-1): 返回上一页, 原页面表单中的内容会丢失; back(-1): 返回上一页, 原页表表单中的内容会保留.

 

go(-1): 返回上一页, 原页面表单中的内容会丢失; back(-1): 返回上一页, 原页表表单中的内容会保留.

<input type=button value=刷新 οnclick="window.location.reload()"> <input type=button value=前进 οnclick="window.history.go(1)">  <input type=button value=后退 οnclick="window.history.go(-1)"> <input type=button value=前进 οnclick="window.history.forward()">  <input type=button value=后退 οnclick="window.history.back()">

后退+刷新<input type=button value=后退 οnclick="window.history.go(-1);window.location.reload()">

history.back()是会上一页

i=1

history.go(i)去指定的某页

假设是history.go(0)那就是刷新这两个属于JS代码。相当于IE的前进、后退功能。


详细的用处就要看什么时候须要这个就用上。比方用户注冊时的验证是后台验证。不符合要求的时候就能够用这个,能够最大限度保证用户少反复输入数据。


比如:加载页面:

function onLoadPage(){

if(event.srcElement.tagName=="SPAN"){

oFrame=top.window.middle.frames[2];

oTxt=event.srcElement.innerText;

switch(oTxt){ 

case "前 进":

oFrame.history.go(1);

case "后 退":

oFrame.history.back();

case "刷 新":

oFrame.location.reload();

}

}

}
 
 
 
假设button的ID是LinkButton1

protected void Page_Load(object sender, EventArgs e)

{

    int x=0;

    if (ViewState["x"]!=null)

    {

x=(int)ViewState["x"];

    }

    x++;

    ViewState["x"]=x;


    this.LinkButton1.Attributes.Add("onclick", "window.history.go(-"+x+"; return false");

}
public static int GetPageRequestTimes()
        {

            string sKey = System.Web.HttpContext.Current.Request.Url.LocalPath;
            HttpCookie cookfrom = System.Web.HttpContext.Current.Response.Cookies[sKey];
            string sTimes = cookfrom["count"];
            if (CCConvert.IsInt32(sTimes)) return Convert.ToInt32(sTimes)+1;
            else return 0;
        }

        public static void SetBtnBackJs(System.Web.UI.HtmlControls.HtmlInputButton btn)
        {

            int iTimes = ( GetPageRequestTimes()) * -1;
            btn.Attributes.Add("onclick", "javascript:window.history.go(" + iTimes.ToString() + ");");
        }
        public static void SavePageBackInfo(System.Web.UI.Page page)
        {

            string sKey = page.Request.Url.LocalPath;
            HttpCookie cookfrom = page.Request.Cookies[sKey];
            if (cookfrom == null)
            {

                cookfrom = new HttpCookie(sKey);
            }
            string sTimes = "0";
            if (page.IsPostBack)
            {

                sTimes = cookfrom["count"];
                sTimes = (Convert.ToInt32(sTimes) + 1).ToString();
            }
            cookfrom["count"] = sTimes;
            page.Response.Cookies.Add(cookfrom);

        }

转载于:https://www.cnblogs.com/ljbguanli/p/7110624.html

你可能感兴趣的文章
Java并发指南1:并发基础与Java多线程
查看>>
Java并发指南2:深入理解Java内存模型JMM
查看>>
Java并发指南5:JMM中的final关键字解析
查看>>
Java并发指南6:Java内存模型JMM总结
查看>>
Java并发指南7:JUC的核心类AQS详解
查看>>
Java并发指南8:AQS中的公平锁与非公平锁,Condtion
查看>>
Java网络编程和NIO详解6:Linux epoll实现原理详解
查看>>
Java网络编程和NIO详解7:浅谈 Linux 中NIO Selector 的实现原理
查看>>
Java网络编程与NIO详解8:浅析mmap和Direct Buffer
查看>>
Java网络编程与NIO详解10:深度解读Tomcat中的NIO模型
查看>>
Java网络编程与NIO详解11:Tomcat中的Connector源码分析(NIO)
查看>>
深入理解JVM虚拟机1:JVM内存的结构与消失的永久代
查看>>
深入理解JVM虚拟机3:垃圾回收器详解
查看>>
深入理解JVM虚拟机4:Java class介绍与解析实践
查看>>
深入理解JVM虚拟机5:虚拟机字节码执行引擎
查看>>
深入理解JVM虚拟机6:深入理解JVM类加载机制
查看>>
深入了解JVM虚拟机8:Java的编译期优化与运行期优化
查看>>
深入理解JVM虚拟机9:JVM监控工具与诊断实践
查看>>
深入理解JVM虚拟机10:JVM常用参数以及调优实践
查看>>
深入理解JVM虚拟机12:JVM性能管理神器VisualVM介绍与实战
查看>>