HTML DOM教程 13-HTML DOM Location 对象
2009-05-04 16:43
399 查看
HTML DOM教程 13-HTML DOM Location 对象
Location 对象是由 JavaScript runtime engine 自动创建的,包含有关当前 URL 的信息。
Location 对象是 Window 对象的一个部分,可通过 window.location 属性来访问。
不过 Anchor 对象表示的是文档中的超链接,Location 对象表示的却是浏览器当前显示的文档的 URL(或位置)。但是 Location 对象所能做的远远不止这些,它还能控制浏览器显示的文档的位置。如果把一个含有 URL 的字符串赋予 Location 对象或它的 href 属性,浏览器就会把新的 URL 所指的文档装载进来,并显示出来。
除了设置 location 或 location.href 用完整的 URL 替换当前的 URL 之外,还可以修改部分 URL,只需要给 Location 对象的其他属性赋值即可。这样做就会创建新的 URL,其中的一部分与原来的 URL 不同,浏览器会将它装载并显示出来。例如,假设设置了Location对象的 hash 属性,那么浏览器就会转移到当前文档中的一个指定的位置。同样,如果设置了 search 属性,那么浏览器就会重新装载附加了新的查询字符串的 URL。
除了 URL 属性外,Location 对象的 reload() 方法可以重新装载当前文档,replace() 可以装载一个新文档而无须为它创建一个新的历史记录,也就是说,在浏览器的历史列表中,新文档将替换当前文档。
5:Location的方法详解
5.1 replace() 方法
<html>
2
3 <head>
4
5 <script type="text/javascript">
6
7 function replaceDoc()
8
</script>
</head>
<body>
<input type="button" value="Replace document" onclick="replaceDoc()" />
</body>
</html>
5.2 reload() 方法
定义和用法:reload() 方法用于重新加载当前文档。
语法:location.reload(force)
说明:如果该方法没有规定参数,或者参数是 false,它就会用 HTTP 头 If-Modified-Since 来检测服务器上的文档是否已改变。如果文档已改变,reload() 会再次下载该文档。如果文档未改变,则该方法将从缓存中装载文档。这与用户单击浏览器的刷新按钮的效果是完全一样的。
如果把该方法的参数设置为 true,那么无论文档的最后修改日期是什么,它都会绕过缓存,从服务器上重新下载该文档。这与用户在单击浏览器的刷新按钮时按住 Shift 健的效果是完全一样。
实例:
<html>
2<head>
3<script type="text/javascript">
4function reloadPage()
5</script>
9</head>
<body>
<input type="button" value="Reload page"
onclick="reloadPage()" />
</body>
</html>
<head>
3<script type="text/javascript">
4function newDoc()
5</script>
9</head>
<body>
<input type="button" value="Load new document" onclick="newDoc()" />
</body>
</html>
1:Location 对象
Location 对象实际上是 JavaScript 对象,而不是 HTML DOM 对象。Location 对象是由 JavaScript runtime engine 自动创建的,包含有关当前 URL 的信息。
Location 对象是 Window 对象的一个部分,可通过 window.location 属性来访问。
2:Location 对象的属性
属性 | 描述 | IE | F | O |
---|---|---|---|---|
hash | 设置或返回从井号 (#) 开始的 URL(锚)。 | 4 | 1 | 9 |
host | 设置或返回主机名和当前 URL 的端口号。 | 4 | 1 | 9 |
hostname | 设置或返回当前 URL 的主机名。 | 4 | 1 | 9 |
href | 设置或返回完整的 URL。 | 4 | 1 | 9 |
pathname | 设置或返回当前 URL 的路径部分。 | 4 | 1 | 9 |
port | 设置或返回当前 URL 的端口号。 | 4 | 1 | 9 |
protocol | 设置或返回当前 URL 的协议。 | 4 | 1 | 9 |
search | 设置或返回从问号 (?) 开始的 URL(查询部分)。 | 4 | 1 | 9 |
3:Location 对象的方法
方法 | 描述 | IE | F | O |
---|---|---|---|---|
assign() | 加载新的文档。 | 4 | 1 | 9 |
reload() | 重新加载当前文档。 | 4 | 1 | 9 |
replace() | 用新的文档替换当前文档。 | 4 | 1 | 9 |
4:Location 对象的描述
Location 对象存储在 Window 对象的 Location 属性中,表示那个窗口中当前显示的文档的 Web 地址。它的 href 属性存放的是文档的完整 URL,其他属性则分别描述了 URL 的各个部分。这些属性与 Anchor 对象(或 Area 对象)的 URL 属性非常相似。当一个 Location 对象被转换成字符串,href 属性的值被返回。这意味着你可以使用表达式 location 来替代 location.href。不过 Anchor 对象表示的是文档中的超链接,Location 对象表示的却是浏览器当前显示的文档的 URL(或位置)。但是 Location 对象所能做的远远不止这些,它还能控制浏览器显示的文档的位置。如果把一个含有 URL 的字符串赋予 Location 对象或它的 href 属性,浏览器就会把新的 URL 所指的文档装载进来,并显示出来。
除了设置 location 或 location.href 用完整的 URL 替换当前的 URL 之外,还可以修改部分 URL,只需要给 Location 对象的其他属性赋值即可。这样做就会创建新的 URL,其中的一部分与原来的 URL 不同,浏览器会将它装载并显示出来。例如,假设设置了Location对象的 hash 属性,那么浏览器就会转移到当前文档中的一个指定的位置。同样,如果设置了 search 属性,那么浏览器就会重新装载附加了新的查询字符串的 URL。
除了 URL 属性外,Location 对象的 reload() 方法可以重新装载当前文档,replace() 可以装载一个新文档而无须为它创建一个新的历史记录,也就是说,在浏览器的历史列表中,新文档将替换当前文档。
5:Location的方法详解
5.1 replace() 方法
定义:replace() 方法可用一个新文档取代当前文档。
语法:location.replace(newURL)
说明:replace() 方法不会在 History 对象中生成一个新的纪录。当使用该方法时,新的 URL 将覆盖 History 对象中的当前纪录。
实例:下面的例子将使用 replace() 方法来替换当前文档:<html>
2
3 <head>
4
5 <script type="text/javascript">
6
7 function replaceDoc()
8
</script>
</head>
<body>
<input type="button" value="Replace document" onclick="replaceDoc()" />
</body>
</html>
5.2 reload() 方法
定义和用法:reload() 方法用于重新加载当前文档。
语法:location.reload(force)
说明:如果该方法没有规定参数,或者参数是 false,它就会用 HTTP 头 If-Modified-Since 来检测服务器上的文档是否已改变。如果文档已改变,reload() 会再次下载该文档。如果文档未改变,则该方法将从缓存中装载文档。这与用户单击浏览器的刷新按钮的效果是完全一样的。
如果把该方法的参数设置为 true,那么无论文档的最后修改日期是什么,它都会绕过缓存,从服务器上重新下载该文档。这与用户在单击浏览器的刷新按钮时按住 Shift 健的效果是完全一样。
实例:
<html>
2<head>
3<script type="text/javascript">
4function reloadPage()
5</script>
9</head>
<body>
<input type="button" value="Reload page"
onclick="reloadPage()" />
</body>
</html>
5.3 assign() 方法 定义和用法:assign() 方法可加载一个新的文档。 语法:location.assign(URL) 实例:下面的例子将使用 assign() 来加载一个新的文档:
<head>
3<script type="text/javascript">
4function newDoc()
5</script>
9</head>
<body>
<input type="button" value="Load new document" onclick="newDoc()" />
</body>
</html>
相关文章推荐
- HTML DOM教程 13-HTML DOM Location 对象
- HTML DOM教程 12-HTML DOM History 对象
- HTML DOM教程 41-HTML DOM Style 对象
- HTML DOM教程 9-HTML DOM Window 对象
- HTML DOM教程 18-HTML DOM Body 对象
- HTML DOM教程 36-HTML DOM Link 对象
- HTML DOM教程 10-HTML DOM Navigator 对象
- HTML DOM 教程Part4 [DOM 表单对象] 摘录自W3C School
- HTML DOM轻松入门_3 HTML DOM Form 对象
- HTML DOM 教程Part5 [DOM 冷门对象] 摘录自W3C School
- HTML DOM 教程Part3 [DOM 常规对象] 摘录自W3C School
- HTML DOM Table对象insertRow()方法与deleteRow()方法
- HTML、js:如何利用Location对象的常用属性和方法重新加载、刷新页面
- 将Html原码解析成IHTMLDocumet对象,然后使用DOMNode将html显示成一棵树
- html的DOM中document对象images集合用法实例
- 将Html原码解析成IHTMLDocumet对象,然后使用DOMNode将html显示成一棵树(转载
- AngularJS 入门教程之HTML DOM实例详解
- html dom与javascript的关系 -我们用JavaScript对网页(HTML)进行的所有操作都是通过DOM进行的
- HTML DOM Event 对象
- HTML DOM Document 对象