Мы больше знакомы с Window.Location. Он обладает такими свойствами, как протокол, имя хоста, хост, порт, поиск, хэш, href, pathname и т. Д. Тег A такой же, как Window.Location, и обладает такими свойствами, которые могут облегчить нам анализировать URL, меньше говорить и добавить код.
Функция parseurl (url) {var a = document.createElement ('a'); a.href = url; return {источник: url, protocol: a.protocol.replace (':', ''), host: a.hostname, port: a.port || '80', query: a.search, params: () {var etr streg =}, seg = seg = seg = seg = seg = seg = seg = seg = seg = seg = seg = seg = seg = seg = seg = seg = seg = seg = seg = seg = seg query: A. A.Search.Replace (/^/? (a.pathname.match (/// ([^//?#]+) $/i) || [, '']) [1], hash: a.hash.replace ('#', ''), path: a.pathname.replace (/^([^//])/, '/$ 1'), A.Pathname.Replace (/^([^//])/, '/$ 1') (a.href.match (/tps?: ///// [^//]+(.+)/) || [, '']) [1], сегменты: A.PathName.Replace (/^///, '').Тестовый адрес
console.log (parseurl ("http://www.w3school.com.cn/jsref/dom_obj_anchor.asp?type=2#id2"));
Результаты следующие
Кода -копия выглядит следующим образом:
{
Файл: "dom_obj_anchor.asp",
хэш: "id2",
Ведущий: "www.w3school.com.cn",
Params: {type: "2"},
Путь: "/jsref/dom_obj_anchor.asp",
Порт: "80",
Протокол: "http",
запрос: "? Type = 2",
относительно: "/jsref/dom_obj_anchor.asp?type=2#id2",
сегменты: [0: "jsref", 1: "dom_obj_anchor.asp"],
Источник: http://www.w3school.com.cn/jsref/dom_obj_anchor.asp?type=2#id2
}