JavaScript 使用reload()方法重载页面

Location 对象的reload()方法容易与浏览器工具栏中的Reload/Refresh(重载/刷新)按钮发生混淆,但前者比后者可实现的重载方式要灵活得多。

总体来讲,reload()方法可实现的重载方式主要有三种:

强制从服务器重载:每次刷新页面时,浏览器都默认请求Web 服务器返回当前URL对应的页面给客户端,此法使用true 作为参数;

启动会话时从服务器重载:如果Web 服务器上的文档较之缓冲区内存放的文档新,或者缓冲区内根本没有这个文档,则从Web 服务器重载当前URL 对应的页面;

强制从缓冲区重载:每次刷新页面时,浏览器都默认请求浏览器从缓冲区载入当前URL 对应的页面。

如果缓冲区没有此页面,则从Web 服务器重载。

前面已经讲述过,使用History 对象的go(0)方法也可实现页面的重载。

从本质上讲,主要体现了两种不同性质的重载。

history.go(0)方法重载页面时,在缓冲区取得文档,并保持页面中许多对象的状态,仅改变其全局变量值及一些可设置但不可见的属性(如hidden 输入对象的值等),该方法与浏览器工具栏内的Reload/Refresh(重载/刷新)按钮功能相同。

location.reload(URL)方法重载页面时,不管是从Web 服务器还是从缓冲区重载,目标页面内的所有对象都自动更新。

考察如下实现页面不同重载方式的代码:[code]

Sample Page!

学籍注册程序

姓名 :

性别 : Male Female

年级 : Class 1 Class 2 Class 3 Class 4

[/code]![](https://cdn.isharkfly.com/com-ossez-www/data/attachment/forum/201210/24/085334eem1ovvcooxvtv6o.png)

单击“使用 history.go(0)方法重载”按钮后,页面刷新但表单内容不变;

单击“使用location.reload()方法重载”按钮后,页面刷新且表单内容发生变化。

Location 对象在搜索引擎和页面的重定位、重载等方面应用比较广泛,实际使用过程中应综合使用字符串处理的有关方法如substring()、escape()和unescape()等方法分析目标URL地址以得到有用的信息。