在JavaScript中,获取或操作URL地址的方法主要有几种,这里我将简要概述一些常用的方法,并给出相应的示例代码。
### 1. 使用`window.location`对象
`window.location`对象包含了当前页面的URL信息。你可以直接访问其属性来获取URL的不同部分。
- **获取完整的URL**
var url = window.location.href;
console.log(url); // 输出完整的URL
- **获取协议类型(如http/https)**
var protocol = window.location.protocol;
console.log(protocol); // 输出例如:https:
- **获取主机名(包括端口号,如果有的话)**
var hostname = window.location.hostname;
console.log(hostname); // 输出例如:www.example.com
// 如果需要包括端口号
var host = window.location.host;
console.log(host); // 输出例如:www.example.com:8080
- **获取路径名**
var pathname = window.location.pathname;
console.log(pathname); // 输出例如:/path/to/page.html
- **获取查询字符串(URL中"?"后的部分)**
var search = window.location.search;
console.log(search); // 输出例如:?key=value&anotherkey=anothervalue
- **获取哈希值(URL中"#"后的部分)**
var hash = window.location.hash;
console.log(hash); // 输出例如:#section1
### 2. 使用`URL`构造函数(推荐用于解析和构造URL)
`URL`构造函数允许你解析URL字符串,并方便地访问其各个部分。
var myURL = new URL('https://www.example.com:8080/path/to/page.html?key=value#section1');
console.log(myURL.href); // 完整的URL
console.log(myURL.protocol); // 协议
console.log(myURL.hostname); // 主机名
console.log(myURL.port); // 端口号
console.log(myURL.pathname); // 路径名
console.log(myURL.search); // 查询字符串
console.log(myURL.hash); // 哈希值
### 3. 使用`URLSearchParams`处理查询字符串
`URLSearchParams`接口提供了用于处理URL的查询字符串的实用功能。
var searchParams = new URLSearchParams('key=value&anotherkey=anothervalue');
// 获取参数
console.log(searchParams.get('key')); // 输出:value
// 添加或更新参数
searchParams.append('newkey', 'newvalue');
console.log(searchParams.toString()); // 输出:key=value&anotherkey=anothervalue&newkey=newvalue
// 删除参数
searchParams.delete('anotherkey');
console.log(searchParams.toString()); // 输出:key=value&newkey=newvalue
以上就是JavaScript中获取和操作URL地址的一些常用方法。希望这能帮助到你!