前言
本章介绍js中的location中的属性和方法。
文章目录
- 前言
- 什么是location
- 为什么要用location
- location对象属性
- location对象方法
- 总结
什么是location
在JavaScript中,location 是一个包含当前页面的URL信息的对象。它允许你获取和操作当前页面的URL,比如获取当前页面的URL,获取URL中的特定部分(比如主机名、路径、查询参数等),以及在不刷新页面的情况下改变页面的URL。location 对象提供了各种方法和属性来帮助你操作URL。以下是一些location 对象的常用属性和方法:
location.href:获取或设置完整的URL。location.host:获取或设置主机名和端口号。location.hostname:获取或设置主机名。location.protocol:获取或设置协议部分(如http://或https://)。location.pathname:获取或设置路径部分。location.search:获取或设置查询参数部分。location.hash:获取或设置URL中的哈希部分。location.reload():重新加载当前页面。location.replace(url):加载一个新的URL并替换当前的URL。
通过使用location 对象,你可以方便地获取和操作当前页面的URL信息,从而实现页面导航、URL参数传递、页面刷新等功能。
为什么要用location
在JavaScript中,location 对象是一个非常常用的对象,因为它提供了许多有用的功能来处理当前页面的URL。以下是一些使用location 的常见用途:
-
获取当前页面的URL:通过
location.href属性可以获取当前页面的完整URL,包括协议、主机、路径、查询参数和哈希部分。 -
解析URL的各个部分:通过
location.protocol、location.host、location.pathname、location.search和location.hash等属性,可以分别获取URL的协议、主机名、路径、查询参数和哈希部分。 -
导航到新页面:通过
location.href或location.assign()方法,可以将浏览器导航到一个新的URL。这可以用于跳转到其他页面或刷新当前页面。 -
修改当前页面的URL:通过
location.replace()或location.href属性,可以修改当前页面的URL。这可以用于在不刷新页面的情况下改变URL,例如在单页应用中实现页面切换效果。 -
获取和设置URL的查询参数:通过
location.search属性可以获取URL中的查询参数部分,也可以通过修改location.search的值来修改URL的查询参数。
总而言之,location 对象提供了许多有用的功能,可以方便地处理当前页面的URL。无论是获取URL信息、导航到新页面还是修改URL,location 都是一个非常有用的工具。
location对象属性
| 属性 | 描述 |
|---|---|
| hash | 设置或返回从井号 (#) 开始的 URL(锚)。 |
| host | 设置或返回主机名和当前 URL 的端口号。 |
| hostname | 设置或返回当前 URL 的主机名。 |
| href | 设置或返回完整的 URL。 |
| pathname | 设置或返回当前 URL 的路径部分。 |
| port | 设置或返回当前 URL 的端口号。 |
| protocol | 设置或返回当前 URL 的协议。 |
| search | 设置或返回从问号 (?) 开始的 URL(查询部分)。 |
location对象方法
-
location.assign()
跟href一样,可以跳转页面,记录历史,可以后退。代码示例
<body> <input type="button" value="跳转百度" onclick="f1()"> <script> function f1() { location.assign('https://www.baidu.com'); } </script> </body>结果:
点击前

点击后

可以看到网址为百度,我就不截太大的图了。 -
location.replace()
替换当前页面,因为不记录历时,所以不能后退页面。代码演示:
<body> <input type="button" value="跳转百度" onclick="f1()"> <script> function f1() { location.replace('https://www.baidu.com'); } </script> </body>结果:
点击前

点击后

可以看到不能回到上一个页面。 -
location.reload()
强制刷新页面,从服务器重新请求! (如果有数据提交的话,会提示是否提交的),迫使浏览器重新下载当前的页面。代码演示:
<body> <input type="button" value="刷新页面" onclick="f1()"> <script> function f1() { location.reload(); } </script> </body>结果:

点击后会刷新页面。
总结
| 属性/方法 | 描述 |
|---|---|
location.href | 获取/设置当前页面的完整URL。 |
location.protocol | 获取当前页面的协议(例如,"http:"或"https:")。 |
location.host | 获取当前页面的主机名和端口号。 |
location.hostname | 获取当前页面的主机名。 |
location.port | 获取当前页面的端口号。 |
location.pathname | 获取当前页面的路径部分。 |
location.search | 获取当前页面的查询参数部分(以问号开头)。 |
location.hash | 获取当前页面的锚点部分(以井号开头)。 |
location.assign(url) | 导航到指定的URL。 |
location.replace(url) | 使用指定的URL替换当前页面,不会生成新的历史记录。 |
location.reload() | 重新加载当前页面。 |
location.search = queryString | 将查询参数部分设置为指定的查询字符串。 |
location.hash = hashValue | 将锚点部分设置为指定的值。 |












![[Vulnhub靶机] DriftingBlues: 2](https://img-blog.csdnimg.cn/ee58c53007d2447f8f2e01ff9a64fa46.png)






