博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
javascript:history.go()和History.back()的区别
阅读量:6897 次
发布时间:2019-06-27

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

History 对象

History 对象实际上是 JavaScript 对象,而不是 HTML DOM 对象。
History 对象是由 JavaScript runtime engine 自动创建的,由一系列的 URL 组成。这些 URL 是用户在一个浏览器窗口内已访问的 URL 。
History 对象最初设计来表示窗口的浏览历史。但出于隐私方面的原因,History 对象不再允许脚本访问已经访问过的实际 URL。唯一保持使用的功能只有 back()、forward() 和 go() 方法。

History 对象的属性

length 返回浏览器历史列表中的 URL 数量

History 对象的方法

back() 加载 history 列表中的前一个 URL
forward() 加载 history 列表中的下一个 URL
go() 加载 history 列表中的某个具体页面

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

打开一个jsp页面,肯定是用客户端脚本进行刷新了。
Javascript刷新页面的几种方法:
1 history.go(0)
2 location.reload()
3 location=location
4 location.assign(location)
5 document.execCommand('Refresh')
6 window.navigate(location)
7 location.replace(location)
8 document.URL=location.href

转载于:https://www.cnblogs.com/dafa/archive/2013/01/28/2879964.html

你可能感兴趣的文章
阿里云9月1日安骑士升级故障真相
查看>>
【树莓派系列】一.准备工作与开机
查看>>
Reddit引入Envoy支持架构改造,性能显著提升
查看>>
Electron 3 稳定版正式发布,4.0的beta版已在开发中
查看>>
小米宣布新一轮组织架构调整,崔宝秋挂帅技术委员会
查看>>
Java Nestmate稳步推进
查看>>
试水区块链出版?纽约时报在招人了
查看>>
Vaadin发布Polyglot框架第8版
查看>>
vim + syntastic + verilator or iverilog
查看>>
git 简略笔记之三 -- 使用 github 管理项目
查看>>
vuex 2.0源码解读(一)
查看>>
PHP接入支付宝单笔订单查询接口
查看>>
【腾讯Bugly干货分享】微信读书 iOS 性能优化
查看>>
CentOS7.0下编译安装PHP 5.6.21
查看>>
怎样才能写得一手好代码?
查看>>
关于 Haskell 当中使用 mutable 数据的一些资料
查看>>
有了 tldr,妈妈再也不用担心我记不住命令了
查看>>
[分享]iOS开发-通过重写set方法,浅谈_和self.的区别
查看>>
EventBus使用详解
查看>>
指针和字符串和字符串常量、用gdb来获取非法内存中的内容
查看>>