history.go(historygo1 返回上个页面选择的复选框没了)

http://www.itjxue.com  2023-01-25 22:52  来源:未知  点击次数: 

.net中history.go(-1)到底是返回到什么状态??

history.go(-1)仅仅是浏览器的功能,而与服务器端无关,也就是说,你的history.go(-1)方法不会回传给服务器端,而客户端还缓存着你,所以只会从浏览器历史记录里找到上一次访问的地址.

火狐中很奇怪的history.go(-n)的问题

您好!很高兴为您答疑。

因为iframe 中镶嵌的是一个个网页实例,您在一个页面镶入多个iframe时,其效果相当于将多个页面放在一起展示,而您这时候执行history.go(-1),根据该事件的载体位置不同,其作用域是不同的。在父框架下,就是全局有效,在子页面下就是本页面有效。

至于解决方案,第一、在ajax框架如此发达的当今,还在一个功能页面镶嵌那么多iframe本就不妥,还牵涉到了跨域问题,以后尽量避免;第二、在不想对现有结构大改的情况下,用记录reffer的方式,直接访问上一次的地址,达到回退的效果,但是此模式下在从缓存还是现网实际获取存在差别。此法是重新发起访问请求,之前的方式实际是去取缓存。

如果对我们的回答存在任何疑问,欢迎继续问询。

javascript中history.go(1)与history.go(-1)是什么意思啊?

history.go(1)指定页的跳转,history.go(-1)表示返回到浏览过的前一个页面。

history是Javascript中Window下的对像,用于存储浏览器的历史信息。它含有三个方法,go(),back()和forward(),分别用来控制页面的跳转。其中:

back()表示返回到上一页面,效果相当于go(-1);

forward()表示返回到下一页面,效果相当于go(1);

go()用于指定页的跳转,比如go(-2)表示返回到浏览过的前两个页面。

history.go和History.back的区别及应用

history.go()和History.back()的区别及应用

分类: javascript

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()"

JSP 返回上一页的几种方法

1. a href="javascript:history.back(-1)"返回上一页

2. a href="javascript:;" onClick="javascript:history.back(-1);"返回上一页

3.如果是用按钮做的话就是:

input type="button" name="Submit" onclick="javascript:history.back(-1);" value="返回上一页"

4.用图片做的话就是:

a href="javascript :;" onClick="javascript :history.back(-1);" img src="图片路径" border="0" title="返回上一页" /a

5. a href="javascript:history.go(-1);"向上一页 /a, 返回两个页面: history.go(-2);

页面跳转:onclick="window.location.href='list.php'"

6.用js实现页面自动返回到上一页

几秒钟后自动返回上一页代码:(加入两个head间,3000表示3秒)

script type="text/javascript"setTimeout("history.go(-1)", 3000); /script

SCRIPT language=javascript

function go()

{ window.history.go(-1);}

setTimeout("go()",3000);

/SCRIPT

Javascript 返回上一页

1. Javascript 返回上一页 history.go(-1), 返回两个页面: history.go(-2);

2. history.back().

3. window.history.forward()返回下一页

4. window.history.go(返回第几页,也可以使用访问过的URL)

JavaScript:history.go() 的妙用

在Web开发中,会遇到从一页(父页)导向另一页(子页),并且要求“返回”父页的情况,在这里如果用ASP.NET提供的Response.Redirect()方法,往往不会达到理想的效果,例如:返回后,重新加载了页面,无法保存导向子页前的状态,等等,在这里我就介绍一下如何使用JavaScript中history.go()函数来实现返回功能并且保存住状态的方法。

这个函数用起来很简单,只要在页面上加一个html的input元素,例如:

input type="button" value="返回"

然后再为这个元素添加onclick属性,如:

input type="button" value="返回" onclick="history.go(-1);"

这样就能达到返回上一页的效果。但是,往往在实践中,并没有这么简单,当你在向服务器提交请求的时候,引起页面回发,你再用history.go(-1)这招就不灵啦,它在这里是返回你回发前的状态,go后面的参数,实际上就是标识你要返回你回发第前n次的状态,所以只要能记住回发了几次,就能用history.go(-n)准确地返回到父页了。

在Web开发中,全局变量也是存不住的,当页面回发后,全局变量的值就会丢失,取而代之的是视图状态,所以我们就只能用视图状态来记录回发的次数了。那么就封装一个视图状态属性把。

public int returnCount

{ get{ if(ViewState["returnCount"] == null)

ViewState["returnCount"] = 0;

return (int)ViewState["returnCount"]; }

set { ViewState["returnCount"] = value ;} }

定义好这个后,把他放到Page_Load里面,让他每次在页面回发时减1,这样就能准确的记住回发了几次。

protected void Page_Load(object sender, EventArgs e)

{ returnCount--; //要放在!iIsPostBack之外,要不然就仅仅在页面第一次加载时执行一次,回发时就不执行了。

if(!IsPostBack)

{ } }

吼吼,到这一步还没完呢,要把我们封装的属性加到Js里面。如下:

input type="button" value="返回" onclick="history.go(' % =returnCount % ');"

这下就完美了,管你在页面上怎么回发,只要一点这个按钮,肯定会返回到父业的。

注意:

1、如果在本页面上有Response.Redirect()到本页或者类似的情况,那么就要将returnCount作为查询字符串传递一下了,因为这东西在页面失效时就over了。

2、本文仅对非Ajax的Web系统有作用,Ajax的还没仔细研究过

javascript:history.go(-1)返回上一页时,网页已过期

通常出现网页过期提示都是因为之前发生表单post,对于这种请求方式,浏览器会认为返回的显示内容与提交的数据有关,除非你再次提交数据,否则无法显示。而如果改用get方式提交数据,在IE中,会默认对同一url的get操作,返回的内容相同。

出现这种情况我想是因为你的a.jsp是通过之前的post操作显示出来的吧,尝试改成get。如果在详单页面中存在对于数据的更改,在返回时最好不要使用history导航的方式,浏览器是不会去服务器端拿数据的,最好是将url带过来吧,用根据url控制浏览器跳转,get方式在最后记得加上随机时间戳,不然有可能出现数据不更新的情况。

解决办法:首先试试back()或go(-2),若依然不行,则取消禁用页面缓存的限制

session_cache_limiter('private,must-revalidate');

作用:当session_cache_limiter('private')时,用处是让表单history.go(-1)的时候,填写内容不丢失。

go(-2)后再forward(1).

为什么我在点击浏览器的后退按钮后,所有字段的信息都被清空了

答:这是由于你在你的表单提交页面中使用了 session_start 函数。

因为我们后退浏览的是缓存页,而该函数会强制当前页面不被缓存。所以出现了’警告: 网页已经过期!’.

这些信息,而我们不得不刷新下才能正确显示,对于一个程序人员来说有可能无所谓,但是对于一个internet网上的一个顾客来说,看到该页面,他有可能关闭该页面,而不会去查看这些信息!

还有一个原因就是当一个网站流量比较大的时候,缓存是我们程序人员最好的工具,如果失去了这把工具,那么你所在的虚拟服务器必将受到考验!

解决办法为,

1、不使用session_start()函数。

2、在你的 Session_start 函数后加入 header("Cache-control: private"); 注意在本行之前你的PHP程序不能有任何输出。

还有基于session的解决方法,在session_start前加上

session_cache_limiter('nocache');// 清空表单

session_cache_limiter('private'); //不清空表单,只在session生效期间

session_cache_limiter('public'); //不清空表单,如同没使用session一般

在开发过程中,往往因为表单出错而返回页面的时候填写的信息都不见了,为了支持页面回跳,可以通过两种方法实现。

第一,使用Header方法设置消息头Cache-control

引用:

header(’Cache-control: private, must-revalidate’); //支持页面回跳

第二,使用session_cache_limiter方法

session_cache_limiter('private, must-revalidate'); //注意要写在session_start方法之前

meta http-equiv="Cache-Control" CONTENT="private,must-revalidate"

history.go和History.back的区别

Javascript中的history对象

其中history.back()方法用于返回前一个浏览的页面

而history,go()则可以转到history中的任何页面,且是相对于当前浏览页面而言的。

例如:返回前一页history.go(-1),这时它等价于history.back()

前往下一页history.go(1),这时它等价于history.forward()

history.go(0)怎么一直刷新啊

history.go(0)就是刷新本页的意思啊!

另外history.go(1)前进 history.go(0)刷新 history.go(-1)后退,你看你的目的是做什么啊!

(责任编辑:IT教学网)

更多

相关鼠标代码文章

推荐鼠标代码文章