利用a標(biāo)簽自動(dòng)解析URL分析網(wǎng)址實(shí)例
對(duì)于window.location,我們比較熟悉,它有protocol,hostname,host,port,search,hash,href,pathname等屬性,a標(biāo)簽也和window.location一樣,也有這樣屬性,這樣可以方便我們分析網(wǎng)址,閑話(huà)少說(shuō),上代碼。
function parseURL(url) { var a = document.createElement('a'); a.href = url; return { source: url, protocol: a.protocol.replace(':',''), host: a.hostname, port: a.port||'80', 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('/') }; }
測(cè)試地址
console.log(parseURL("http://www.w3school.com.cn/jsref/dom_obj_anchor.asp?type=2#id2"));
結(jié)果如下
{
file: "dom_obj_anchor.asp",
hash: "id2",
host: "www.w3school.com.cn",
params: {type: "2"},
path: "/jsref/dom_obj_anchor.asp",
port: "80",
protocol: "http",
query: "?type=2",
relative: "/jsref/dom_obj_anchor.asp?type=2#id2",
segments: [0: "jsref",1: "dom_obj_anchor.asp"],
source: http://www.w3school.com.cn/jsref/dom_obj_anchor.asp?type=2#id2
}
相關(guān)文章
javascript Table 中2個(gè)列(TD)的交換實(shí)現(xiàn)代碼
非常不錯(cuò)的用js控制talbe中td的位置的實(shí)現(xiàn)代碼。2009-02-02ES6 Promise對(duì)象概念及用法實(shí)例詳解
這篇文章主要介紹了ES6 Promise對(duì)象概念及用法,結(jié)合實(shí)例形式詳細(xì)分析了ES6中Promise對(duì)象的概念、原理、創(chuàng)建、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2019-10-10原生js模擬淘寶購(gòu)物車(chē)項(xiàng)目實(shí)戰(zhàn)
這篇文章主要向大家推薦了一個(gè)原生js模擬淘寶購(gòu)物車(chē)項(xiàng)目實(shí)戰(zhàn),包括商品的單選、全選、刪除、修改數(shù)量、價(jià)格計(jì)算、數(shù)目計(jì)算、預(yù)覽等功能的實(shí)現(xiàn),感興趣的小伙伴們可以參考一下2015-11-11JavaScript模塊化開(kāi)發(fā)流程分步講解
這篇文章主要介紹了JavaScript模塊化開(kāi)發(fā)流程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2023-01-01JS設(shè)置隨機(jī)出現(xiàn)2個(gè)數(shù)字的實(shí)例代碼
這篇文章給大家分享基于js設(shè)置隨機(jī)出現(xiàn)2個(gè)數(shù)字的實(shí)例代碼,在文章下面給分享js產(chǎn)生隨機(jī)數(shù)的幾個(gè)用法介紹,感興趣的朋友一起看看吧2017-07-07javascript 支持頁(yè)碼格式的分頁(yè)類(lèi)
前端時(shí)間因?yàn)轫?xiàng)目需要,要對(duì)一個(gè)產(chǎn)品下所有的附屬圖片進(jìn)行分頁(yè)顯示,沒(méi)考慮ajax一張張請(qǐng)求,所以干脆一次性全部把圖片out,然后在載入的時(shí)候進(jìn)行分頁(yè),網(wǎng)上很多jquery,property等都實(shí)現(xiàn)了2009-12-12