一個(gè)不錯(cuò)的JavaScript解析瀏覽器路徑方法
JavaScript中有時(shí)需要用到當(dāng)前的請(qǐng)求路徑等涉及到url的情況,正常情況下我們可以使用location對(duì)象來獲取我們需要的信息,本文從另外一個(gè)途徑來解決這個(gè)問題,而且更加巧妙
方法如下:
function parseURL(url) { var a = document.createElement(’a’); //創(chuàng)建一個(gè)鏈接 a.href = url; return {source: url,protocol: a.protocol.replace(’:’,’’),host: a.hostname,port: a.port,query: a.search,params: (function(){ var ret = {}, seg = a.search.replace(/^?/,’’).split(’&’), len = seg.length, i = 0, s; for (;i<len;i++) {if (!seg[i]) { continue; }s = seg[i].split(’=’);ret[s[0]] = s[1]; } return ret;})(),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(’/’) };}
使用方法如下:
var myURL = parseURL(’http://abc.com:8080/dir/index.html?id=255&m=hello#top’);myURL.file; // = ’index.html’myURL.hash; // = ’top’myURL.host; // = ’abc.com’myURL.query; // = ’?id=255&m=hello’myURL.params; // = Object = { id: 255, m: hello }myURL.path; // = ’/dir/index.html’myURL.segments; // = Array = [’dir’, ’index.html’]myURL.port; // = ’8080’myURL.protocol; // = ’http’myURL.source; // = ’http://abc.com:8080/dir/index.html?id=255&m=hello#top’
相關(guān)文章:
1. JSP動(dòng)態(tài)網(wǎng)頁開發(fā)原理詳解2. XHTML 1.0:標(biāo)記新的開端3. Vue中使用Echarts儀表盤展示實(shí)時(shí)數(shù)據(jù)的實(shí)現(xiàn)4. PHP擴(kuò)展之URL編碼、解碼及解析——URLs5. python如何使用騰訊云發(fā)送短信6. python基于win32實(shí)現(xiàn)窗口截圖7. .NET6使用ImageSharp實(shí)現(xiàn)給圖片添加水印8. WML學(xué)習(xí)之六 事件9. 詳解Java關(guān)于時(shí)間格式化的方法10. vue實(shí)現(xiàn)動(dòng)態(tài)給id賦值,點(diǎn)擊事件獲取當(dāng)前點(diǎn)擊的元素的id操作
