JavaScript location 对象25


在 JavaScript 中,`location` 对象表示当前文档加载的 URL 地址。它提供了操作和获取有关当前 URL 的信息的方法和属性。

属性

`location` 对象具有以下主要属性:* `href`:完整的 URL 地址字符串,包括协议、主机名、路径和查询字符串。
* `protocol`:URL 的协议,例如 "http:" 或 "https:".
* `host`:主机名或 IP 地址和端口号。
* `hostname`:主机名或 IP 地址。
* `port`:端口号。
* `pathname`:路径名(从根目录到当前文档)。
* `search`:查询字符串(不包括问号)。
* `hash`:锚点(从哈希符号开始)。

例如,对于 URL ":8080/path/to/file?param1=value1¶m2=value2#anchor", `location` 对象的属性如下:```javascript
href: ":8080/path/to/file?param1=value1¶m2=value2#anchor"
protocol: "https:"
host: ":8080"
hostname: ""
port: "8080"
pathname: "/path/to/file"
search: "?param1=value1¶m2=value2"
hash: "#anchor"
```

方法

`location` 对象提供了一些有用的方法:* `assign(url)`:将当前 URL 替换为提供的 URL。
* `reload()`:重新加载当前页面。
* `replace(url)`:用提供的 URL 替换当前 URL,但不会创建新的历史记录条目。
* `toString()`:返回 `href` 属性的字符串表示形式。

示例

以下是一些使用 `location` 对象的示例:```javascript
// 获取完整 URL 地址
();
// 获取协议
();
// 获取主机名
();
// 获取端口号
();
// 获取路径名
();
// 获取查询字符串
();
// 获取锚点
();
// 重新加载页面
();
// 将当前 URL 替换为另一个 URL
("");
// 通过 toString() 方法获取 URL 字符串
let url = ();
```

最佳实践* 使用 `assign()` 方法而不是 ` = url`,因为它不会创建新的历史记录条目。
* 使用 `pathname` 和 `search` 属性来获取特定URL组件,而不是解析 `href` 属性。
* 避免使用 ``,因为这是 `location` 对象的全局引用,可能引起冲突。
* 始终验证 URL 的有效性,以防止脚本注入攻击。

2025-01-01


上一篇:canvas javascript HTML5画布绘制指南

下一篇:JavaScript中的 $apply 方法:深入浅出