zoukankan      html  css  js  c++  java
  • history.back(-1)和history.go(-1)的区别

    history.back(-1):直接返回当前页的上一页,数据全部消息,是个新页面

    history.Go(-1):也是返回当前页的上一页,不过表单里的数据全部还在

    history.back(0) 刷新 history.back(1) 前进 history.back(-1) 后退

    <input type=button value=刷新 onclick="window.location.reload()">


    <input type=button value=前进 onclick="window.history.go(1)">


    <input type=button value=后退 onclick="window.history.go(-1)">


    <input type=button value=前进 onclick="window.history.forward()">


    <input type=button value=后退 onclick="window.history.back()"> 后退+刷新

    <input type=button value=后退 onclick="window.history.go(-1);window.location.reload()">

    样例:

    js6.jsp

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

    <html>
      <head>
      </head>
     
      <body>
        <a href="js7.jsp">点击</a>
      </body>
    </html>

    js7.jsp

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

    <html>
      <head>
      </head>
     
      <body>
        <a href="#" onclick="history.back(-1);return false;">返回</a>
      </body>
    </html>

    以上的例子:当没有加return false;时返回的跳转不会发生,因为当onclick执行后,接着执行的是

    href="#",即是:localhost:8080/Servlet/js/js7.jsp#,故无法发生返回的跳转。

    //<input type=button value=刷新 onclick=”window.location.reload()”>
    //<input type=button value=前进 onclick=”window.history.go(1)”>
    //<input type=button value=后退 onclick=”window.history.go(-1)”>
    //<input type=button value=前进 onclick=”window.history.forward()”>
    //<input type=button value=后退 onclick=”window.history.back()”>
    后退+刷新s
    <input type=button value=后退 onclick=”window.history.go(-1);window.location.reload()”>

    在C# Web程序中,如为页面按钮写返回上一页代码

    this.RegisterClientScriptBlock(“E”, “<script language=javascript>history.go(-2);</script>”);

    其中,history.go(-2),要写为-2,因在按钮事件触发前,已刷新一次页面,所以应是-2。

    Response.Write(“<script language=javascript>history.go(-2);</script>”);

    此处也要写为“-2”。跟直接写脚本的有所不同。


    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();
    }
    }
    }

    go()方法只有一个参数,即前进或后退的页面数

    如果是负数,就在浏览器历史中后退。如果是正数,就前进(这种差别就像Back和Forward按钮之间的差别)。


    因此,后退一页,可用下面的代码:

    window.history.go(-1);

    当然,window对象的引用不是必需的,也可使用下面的代码:

    history.go(-1);

    通常用该方法创建网页中嵌入的Back按钮,例如:

    <a href="javascript:history.go(-1)'>Back to the previous page</a>

    要前进一页,只需要使用正数;

    history.go(1);

    另外,用back()和forward()方法可以实现同样的操作:

    //go back one
    history.back();


    //go forward one
    history.forward();

    这些代码更有意义一些,因为它们精确地反应出浏览器的Back和Forward按钮的行为。

    虽然不能使用浏览器历史中的URL,但可以用length属性查看历史中的页面数:

    alert{"There are currently" + history.length +" pages in history.");

  • 相关阅读:
    Python动态展示遗传算法求解TSP旅行商问题
    MOEAD算法中均匀权向量的实现---Python
    HDU 5294 多校第一场1007题 最短路+最小割
    POJ 3261 Milk Patterns sa+二分
    HDU 4292 FOOD 2012 ACM/ICPC Asia Regional Chengdu Online
    CodeForces 201A Clear Symmetry
    POJ 1679 The Unique MST 确定MST是否唯一
    POJ 3268 Silver Cow Party 最短路 基础题
    POJ 2139 SIx Degrees of Cowvin Bacon 最短路 水題
    POJ2229 Sumsets 基礎DP
  • 原文地址:https://www.cnblogs.com/lzm1989/p/6107382.html
Copyright © 2011-2022 走看看