xb18
xb18
文章78
标签0
分类0
url

url

location

1
2
3
4
5
6
7
8
9
10
11
12
http://localhost:9400/video?a=1#cc
hash: "#cc"
host: "localhost:9400"
hostname: "localhost"
href: "http://localhost:9400/video?a=1"
origin: "http://localhost:9400"
pathname: "/video"
port: "9400"
protocol: "http:"
reload: function reload()
replace: function replace()
search: "?a=1"

URLSearchParams

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// 创建一个 URLSearchParams 对象
const params = new URLSearchParams('?name=John&age=25');

// 获取查询参数
console.log(params.get('name')); // 输出 "John"
console.log(params.get('age')); // 输出 "25"

// 设置查询参数
params.set('gender', 'male');
console.log(params.toString()); // 输出 "?name=John&age=25&gender=male"

// 追加查询参数
params.append('hobby', 'reading');
console.log(params.toString()); // 输出 "?name=John&age=25&gender=male&hobby=reading"

// 删除查询参数
params.delete('age');
console.log(params.toString()); // 输出 "?name=John&gender=male&hobby=reading"

// 循环遍历所有查询参数
params.forEach(function(value, key) {
console.log(`${key}: ${value}`);
});

btoa

btoa 和 atob 是window对象的两个函数,其中:

btoa :是binary to ascii,用于将binary的数据用ascii码表示,即Base64的编码过程
atob:是ascii to binary,用于将ascii码解析成binary数据,即Base64的解码过程。

不支持unicode、中文,需要先处理

1
2
3
4
5
6
7
8
9
10
11
12
13
var str = "好好学习";

var demo = btoa(encodeURIComponent(str));

console.log(demo);//JUU1JUE1JUJEJUU1JUE1JUJEJUU1JUFEJUE2JUU0JUI5JUEw



var demo = 'JUU1JUE1JUJEJUU1JUE1JUJEJUU1JUFEJUE2JUU0JUI5JUEw'

var str1 = decodeURIComponent(atob(demo))

console.log(str1)//好好学习

在使用atob和btoa这两个函数时需要注意的是,IE9是不支持的(虽然现在基本都是面向Chrome浏览器编程😊)

我们使用第三方Base64工具:webtoolkit.base64是一个第三方实现的 Base64 编码工具,完美的支持 unicode 编码的字符串。

1
2
3
Base64.encode('中文')//"5Lit5paH"

Base64.decode('5Lit5paH');//"中文"
本文作者:xb18
本文链接:https://moelj.com/2024/03/28/url/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可