Estamos mais familiarizados com o Window.Location. Possui propriedades como protocolo, nome de host, host, porta, pesquisa, hash, href, pathname etc. A tag A é a mesma que window.location e possui essas propriedades, o que pode nos facilitar a analisar o URL, falar menos e adicionar código.
função parseurl (url) {var a = document.createElement ('a'); a.href = url; return {fonte: url, protocolo: a.protocol.replace (':', ''), host: a.hostname, port: a.port | * 80 ', query: a.earch, (function) {n) a.search.Place (/^/?/, ''). Split ('&'), len = seg.length, i = 0, s; para (; i <len; i ++) {if (! seg [i]) {continua; (a.pathname.match(///([^//?#]+)$/i) || [,''])[1],hash: a.hash.replace('#',''),path: a.pathname.replace(/^([^//])/,'/$1'),relative: (a.href.match(/tps?:////[^//]+(.+)/) || [, '']) [1], segmentos: a.pathname.Replace (/^///, ''). Split ('/')};}Endereço de teste
console.log (parseurl ("http://www.w3school.com.cn/jsref/dom_obj_anchor.asp?type=2#id2");
Os resultados são os seguintes
A cópia do código é a seguinte:
{
Arquivo: "dom_obj_anchor.asp",
Hash: "id2",
Host: "www.w3school.com.cn",
params: {type: "2"},
Caminho: "/jsref/dom_obj_anchor.asp",
Porta: "80",
Protocolo: "http",
Consulta: "? Type = 2",
Relativo: "/jsref/dom_obj_anchor.asp?type=2#id2",
Segmentos: [0: "JSREF", 1: "Dom_obj_anchor.asp"],
Fonte: http://www.w3school.com.cn/jsref/dom_obj_anchor.asp?type=2#id2
}