以文本方式查看主题

-  ╋艺 镇╋  (http://zyzsky.com/bbs/index.asp)
--  ┣◇网站建设&Web语言  (http://zyzsky.com/bbs/list.asp?boardid=4)
----  [js]javascript中history.go(),history.back(),location.reload()和location.replace区别  (http://zyzsky.com/bbs/dispbbs.asp?boardid=4&id=2112)

--  作者:admin
--  发布时间:2010/8/23 9:14:03
--  [js]javascript中history.go(),history.back(),location.reload()和location.replace区别

history.back(-1)和history.go(-1)没有什么区别,但是history.back只能返回当前页面的以前的操作页面,也就是说只能向后回退,history.go即可向前也可向后 。

reload 方法,该方法强迫浏览器刷新当前页面。
语法:location.reload([bForceGet])
参数:bForceGet, 可选参数, 默认为 false,从客户端缓存里取当前页。
   true, 则以 GET 方式,从服务端取最新的页面, 相当于客户端点击 F5("刷新")

replace 方法,该方法通过指定URL替换当前缓存在历史里(客户端)的项目,因此当使用replace方法之后,你不能通过“前进”和“后退”来访问已经被替换的URL。
语法: location.replace(URL)
参数: URL

在实际应用的时候,重新刷新页面的时候,我们通常使用: location.reload() 或者是 history.go(0) 来做。因为这种做法就像是客户端点F5刷新页面

history.go(0) 不刷新   
    
location.reload() 刷新


--  作者:admin
--  发布时间:2010/8/23 15:13:02
--  

History历史对象并有以下方法
back() 后退,跟按下“后退”键是等效的。
forward() 前进,跟按下“前进”键是等效的。

go() 用法:history.go(x);在历史的范围内去到指定的一个地址。如果 x < 0,则后退 x 个地址,如果 x > 0,则前进 x 个地址,如果 x == 0,则刷新现在打开的网页。history.go(0) 跟 location.reload() 是等效的。

reload() 相当于按浏览器上的“刷新”(IE)或“Reload”(Netscape)键。
replace() 打开一个 URL,并取代历史对象中当前位置的地址。用这个方法打开一个 URL 后,按下浏览器的“后退”键将不能返回到刚才的页面。


--  作者:admin
--  发布时间:2010/8/23 15:21:48
--  
window.location=\'index.asp\'与location.replace(\'xxx.htm\')的区别好象为,前者是如果载入的网页在IE缓存中有就载入IE缓存的。后者是不论IE缓存中有没有都强制从服务器上重新载入。
--  作者:admin
--  发布时间:2010/8/23 15:33:48
--  
所有需要返回上一页的时候使用history.back();可以不使用history.go(-1);
需要返回前n页(n> 1)时使用history.go(-n);