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.");

时间: 2024-11-12 22:27:08

history.back(-1)和history.go(-1)的区别的相关文章

PHP学习笔记之history.go(-1)和History.back()的区别

简单的说就是: history.back(-1):直接返回当前页的上一页,数据全部消息,是个新页面 history.go(-1):也是返回当前页的上一页,不过表单里的数据全部还在 history.back(0) 刷新 history.back(1) 前进 history.back(-1) 后退 <input type=button value=前进 onclick="window.history.go(1)"> <input type=button value=后退

运行ipython后显示WARNING: IPython History requires SQLite, your history will not be saved

在CentOS6.5下将自带的python2.6升级到python2.7,并安装了ipython,启动ipython后显示如下信息: WARNING: IPython History requires SQLite, your history will not be saved 解决方法如下: 下载并解压sqlite包,输入命令:#wget http://www.sqlite.org/sqlite-autoconf-3071401.tar.gz#tar zxvf sqlite-autoconf-

history 清空历史记录 或 history不记录历史命令

# vi ~/.bash_history 清空里面的记录,并退出当前shell # exit(一定要退出当前shell) # history 1 vi ~/.bash_history 2 history |grep mysql 3 clear 4 vi ~/.bash_history 5 echo "" > ~/.bash_history 6 vi ~/.bash_history 7 history 8 exit 9 history #之前的内容被清空!!! [[email pr

window.history.back(-1);与window.go(-1);的区别

window方法 history.back(-1):直接返回当前页的上一页,数据全部消息,是个新页面   history.go(-1):也是返回当前页的上一页,不过表单里的数据全部还在 history.back(1) 前进 history.back(-1) 后退 window.location.reload(); //刷新 window.history.go(1); //前进 window.history.go(-1); //返回+刷新 window.history.forward(); //前

history.go(-1)、history.back()、document.referrer区别

history.go(-1)返回前一页面,个人认为是走的缓存所以数据还保存. history.back(-1)返回前一页面,应该走的是连接,数据不存在,重新刷新了页面. document.referrer返回前一页面的url可以被打印出来. alert(history.go(-1));//undefined alert(history.back(-1));//undefined alert(document.referrer);//返回前一页面url

jq,返回上一页,小记history.back(-1)和history.go(-1)区别

<input type="button" name="back" value="重新填写" onclick="javascript:history.back(-1);"/> history.back(-1):直接返回当前页的上一页,数据全部消息,是个新页面history.go(-1):也是返回当前页的上一页,不过表单里的数据全部还在

【单页应用巨坑之History】细数History带给单页应用的噩梦

前言 在我们日常的网页浏览中,我们非常喜欢做一个操作:点击浏览器的前进后退在Ajax技术出现后,有些时候前进后退就会给开发者带来困扰,甚至一些开发者试图去干掉History随着Html5的发展,移动端的兴旺,单页应用出现了,于是History的处理被不得不提上议程了!要知道,这一直是一项让人不愿意去碰的巨坑,但是单页应用却不得不去解决 首先History的处理逻辑看似简单,实则负责,稍不注意就会出问题,我们这里来探讨下单页中History的处理规则 基础知识 javascript中History

使用history环境变量提升系统安全性

1) 应用场景 系统如果被黑客攻入,他就可以查看一下histroy就能知道了系统的一些敏感信息,像登录的密码之类的:比如有马虎的维护工程师,直接输入了数据库的密码: [[email protected] ~]# history     16  history     17  clear    18  mysql -u root -p'redhat12345' -S /data/3306/mysql.sock    19  history 如上,我们可以发现数据库的密码为redhat12345 2

使用history.pushState()和popstate事件实现AJAX的前进、后退功能

上一篇文章中,我们使用location.hash来模拟ajax的前进后退功能.使用location.hash存在下面几个问题: 1.使用location.hash会导致地址栏的url发生变化,用户体验不够友好. 2.location.hash产生的历史记录无法修改,每次hash改变都会导致产生一个新的历史记录. 3.location.hash只是1个字符串,不能存储很多状态相关的信息. 为了解决这些问题,HTML5中引入了history.pushState().history.replaceSt