1. Функция анализа URL
Кода -копия выглядит следующим образом:
<Скрипт>
/**
*@param {string} url завершен адрес URL -адреса
*@возвращает {Object} Custom Object
*@Описание Пример использования: var myurl = parseurl ('http://abc.com:8080/dir/index.html?id=255&m=HelloOp');
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'
*/
Функция parseurl (url) {
var a = document.createElement ('a');
a.href = url;
возвращаться {
Источник: URL,
Протокол: a.protocol.replace (':', ''),
Ведущий: a.hostname,
Порт: A.Port,
Запрос: A.Search,
Params: (function () {
var ret = {},
seg = A.Search.Replace (/^/?/, ''). Split ('&'),
len = seg.length, i = 0, s;
for (; i <len; i ++) {
if (! seg [i]) {продолжить; }
s = seg [i] .split ('=');
ret [s [0]] = s [1];
}
возврат возврата;
}) (),
Файл: (a.pathname.match (//// ([^//?#]+) $/i) || [, '']) [1],
хэш: a.hash.replace ('#', ''),
Путь: a.pathname.replace (/^([^//])/, '/$ 1'),
Относительно: (a.href.match (/tps?: ///// [^//]+(.+)/) || [, '']) [1],
сегменты: a.pathname.replace (/^///, ''). Split ('/')
};
}
// var myurl = parseurl ('http://abc.com:8080/dir/index.html?id=255&m=helloop');
var myurl = parseurl ('http: // localhost: 8080/test/mytest/tologina.ction? M = 123 & pid = abc');
блюд (myurl.path);
предупреждение (myurl.params.m);
оповещение (myurl.params.pid);
</script>
2. Анализ сегментированного URL -адреса JS
URL: единый локатор ресурсов (URL)
Полный URL -адрес состоит из этих частей: схема: // хост: порт/путь? Запрос#фрагмент
Кода -копия выглядит следующим образом:
Схема = протокол связи (обычно используется HTTP, FTP, Maito и т. Д.)
host = host (доменное имя или IP)
порт = номер порта
Путь = путь
Query = Query (необязательно, используется для передачи параметров на динамические веб -страницы (такие как веб -страницы, изготовленные с использованием CGI, ISAPI, PHP/JSP/ASP/ASP.NET и другие технологии). Может быть несколько параметров, разделенных символом «&», а имя и значение каждого параметра разделены «=» символ).
fragment = информационный фрагмент (строка, используемая для определения фрагментов в сетевом ресурсе.
Для такого URL
//www.vevb.com:80/seo/?ver=1.0&id=6#imhere
Мы можем получить различные его части в JavaScript
1, window.location.href
Вся строка URL (полная адресная строка в браузере)
2, window.location.protocol
Протокол часть URL
Этот пример возвращает значение: http:
3, window.location.host
Хост часть URL
Возвращение значения в этом примере: www.vevb.com
4, window.location.port
Порт -часть URL
Если используется порт 80 по умолчанию (обновление: даже если: 80. добавлено), возвращаемое значение не является по умолчанию 80, а пустым символом
Этот пример возвращает значение: ""
5, window.location.pathname
Часть URL -адреса пути (то есть адрес файла)
Этот пример возвращает значение: /seo /
6, window.location.search
Запрос (параметры) часть
В дополнение к назначению значений динамическим языкам, мы также можем предоставить статические страницы и использовать JavaScript для получения значения параметра, который считается.
Возвращение значения в этом примере:? Ver = 1.0 & id = 6
7, window.location.hash
Якорь
Возвращаемое значение в этом примере: #Imhere