JS Code block 代码块–URL
星期二, 2023-04-18 | Author: Lee | computer, 前端 | 1,312 views
URL
获取window.URL 实例
获取url中的参数
删除url中参数
增加url中的参数
获取URL里domain
返回url的pathName
http协议转换为https
将dataURL转换为blob
blob2DataURL
/** * 给定 url, 返回一个 window.URL 实例 * @param url * @returns {*|URL} */ function parseUrl(url) { if (url.startsWith('//')) { url = location.protocol + url; } return new window.URL(url); } /** * 获取url中的参数 * @param name 为参数名 * @param url 为获取参数的URL */ function getUrlParam(name, url = window.location.href) { return parseUrl(url).searchParams.get(name); } /** * 删除url中参数 * @param name 为参数名 * @returns {String} */ function removeUrlParam(param, url = window.location.href) { let obj = parseUrl(url); obj.searchParams.delete(param); return obj.href; } /** * 增加url中的参数 * @param key * @param value * @param url * @returns {String} */ function addUrlParam(key, value, url = window.location.href) { let obj = parseUrl(url); obj.searchParams.set(key, value); return obj.href; } /** * 获取URL里domain * 举例: url = "http://jira.yqxiu.cn/browse/REFACT-17" * 返回 "jira.yqxiu.cn" */ function getUrlHost(url = window.location.href) { return parseUrl(url).host; } /** * 返回url的pathName * @param url */ function getPathName(url = window.location.href) { var obj = parseUrl(url); return obj.pathname; } /** * http协议转换为https * @param url * @return {*} */ function url2https(url) { return addProtocol(url).replace(/^http:/, 'https:'); } /** * 将dataURL转换为blob * @param {*} dataURL */ function dataURL2Blob(dataURL) { const arr = dataURL.split(',') const type = arr[0].match(/:(.*?);/)[1] const text = window.atob(arr[1]) // 将base64转换成文本 let n = text.length const uint8Array = new Uint8Array(n) while (n--) { uint8Array[n] = text.charCodeAt(n) } return new Blob([uint8Array], { type }) } /** * 将blob转换为dataURL * @param {*} blob */ function blob2DataURL(blob) { return new Promise(resolve => { const fileReader = new FileReader() fileReader.onload = e => resolve(e.target.result) fileReader.readAsDataURL(blob) }) } |
文章作者: Lee
本文地址: https://www.pomelolee.com/2393.html
除非注明,Pomelo Lee文章均为原创,转载请以链接形式标明本文地址
No comments yet.
Leave a comment
Search
相关文章
热门文章
最新文章
文章分类
- ajax (10)
- algorithm-learn (3)
- Android (6)
- as (3)
- computer (85)
- Database (30)
- disucz (4)
- enterprise (1)
- erlang (2)
- flash (5)
- golang (3)
- html5 (18)
- ios (4)
- JAVA-and-J2EE (186)
- linux (143)
- mac (10)
- movie-music (11)
- pagemaker (36)
- php (50)
- spring-boot (2)
- Synology群晖 (2)
- Uncategorized (6)
- unity (1)
- webgame (15)
- wordpress (33)
- work-other (2)
- 低代码 (1)
- 体味生活 (40)
- 前端 (21)
- 大数据 (8)
- 游戏开发 (9)
- 爱上海 (19)
- 读书 (4)
- 软件 (3)