/**
* 绝对路径Url解析
* @param {String} url 要解析的url,Url必须带协议http或者https
* @returns
*/
export const parseURL = (url) => {
let a = document.createElement('a')
a.href = url
return {
source: url,
protocol: a.protocol.replace(':', ''),
host: a.host,
hostname: a.hostname,
port: a.port,
query: a.search,
params: (function() {
let params = {}
let hashArr = a.search.replace(/^\?/, '').split('&')
for (let i = 0; i < hashArr.length; i++) {
let item = hashArr[i].split('=')
params[item[0]] = item[1] || ''
}
return params
})(),
file: (a.pathname.match(/\/([^/?#]+)$/i) || '')[1],
hash: a.hash.replace('#', ''),
path: a.pathname.replace(/^([^/])/, '/$1'),
relative: (a.href.match(/tps?:\/\/[^/]+(.+)/) || '')[1],
segments: a.pathname.replace(/^\//, '').split('/')
}
}
解析Url地址(绝对路径解析)
于 2021-10-20 15:52:39 首次发布