一個不錯的JavaScript解析瀏覽器路徑方法
JavaScript中有時需要用到當前的請求路徑等涉及到url的情況,正常情況下我們可以使用location對象來獲取我們需要的信息,本文從另外一個途徑來解決這個問題,而且更加巧妙
方法如下:
function parseURL(url) { var a = document.createElement(’a’); //創(chuàng)建一個鏈接 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’
相關文章:
1. 基于javascript處理二進制圖片流過程詳解2. 解決android studio引用遠程倉庫下載慢(JCenter下載慢)3. Gitlab CI-CD自動化部署SpringBoot項目的方法步驟4. ajax請求添加自定義header參數(shù)代碼5. ASP基礎知識VBScript基本元素講解6. 使用Python和百度語音識別生成視頻字幕的實現(xiàn)7. Kotlin + Flow 實現(xiàn)Android 應用初始化任務啟動庫8. idea刪除項目的操作方法9. 教你如何寫出可維護的JS代碼10. 使用python 計算百分位數(shù)實現(xiàn)數(shù)據(jù)分箱代碼
