Получение базового URL с помощью jQuery или JavaScript
Быстрый ответ
Для получения базового URL вам достаточно воспользоваться свойством window.location.origin.
let baseUrl = window.location.origin;
Этот код извлекает протокол, имя хоста и порт, то есть всё, что находится до первого слеша после имени домена. Этот простой и эффективный способ отлично подойдёт для ваших скриптов!
Если вам необходим более изощрённый подход или нужно учитывать тег <base> и составные части URL, вы точно обратились по адресу!

Анализ базового URL
Объект window.location в JavaScript содержит ключевые элементы URL, которые могут пригодиться:
window.location.hostname— для получения имени домена 🍩.window.location.protocol— для определения используемого протокола (http:илиhttps:), что гарантирует целостность URL.window.location.host— это свойство обеспечивает выдачу имени хоста и порта (если он указан).
Для операций с базовым URL на уровне директорий используется window.location.pathname:
// Нам не нужны двери там, куда мы идём...
let pathArray = window.location.pathname.split('/');
Теперь вы можете составить путь к директории, применяя в отношении его метод join:
// Строим убежище по кирпичикам
let folderPath = pathArray.slice(0, pathArray.length – 1).join('/');
Данный подход прекрасно справляется с учётом особенностей домена и путей.
Игра с тегом: Работа с тегом <base>
Могут возникнуть ситуации, когда придется столкнуться с тегом <base>, задающим основной URL. В таких случаях в помощь придет document.baseURI:
let baseURI = document.baseURI;
Этот атрибут позволит вам учесть тег <base> и построить абсолютное решение, что улучшит адаптацию к структуре вашего документа.
Визуализация
Подробнее рассмотрим примеры определения базового URL в JavaScript:
const fullURL = 'http://example.com/page?query=123';
// Какая прекрасная ночная панорама на небоскрёб! 🌠
const baseURL = fullURL.split('?')[0];
// Давайте приблизимся, чтобы увидеть только здание, а не свет в окнах 🔍
До: 🌆🏢🪟?query=123
Базовый URL: 🏞️🏢
// Базовый URL служит основой, на которой держится вся структура URL со всеми её запросами и путями.
Важно помнить: бесключевой базовый URL — это основа, на которой держится вся структура URL со всеми её параметрами и путями.
Переключаемся на новый ритм: Динамическое изменение базового URL
Возможно, вам потребуется динамически изменить базовый URL, например, при клиентской маршрутизации или переписывании URL.
- Чтобы изменить глобальный базовый URL без применения тега
<base>, можно добавить его динамически с помощью JavaScript:
document.head.innerHTML += '<base href="http://example.com/" />';
Если вам нужно установить ручной базовый URL, учитывайте возможно присутствующие изменения домена или директорий. Важна упорядоченность.
В сложных веб-приложениях рекомендуют ссылаться на
window.locationдля обеспечения актуальности информации о текущем URL.Выдерживайте единообразие — использование абсолютного базового URL обеспечивает единство подхода в различных ситуациях.
Полезные материалы
- MDN Web Docs: Свойство location объекта Window — подробное описание и примеры использования объекта
window.locationв JavaScript. - Stack Overflow: Как получить базовый URL из строки в JavaScript? — решения и практические примеры работы с URL от сообщества разработчиков.
- W3Schools: JavaScript Window Location — обучающий материал и справочник по объекту
window.locationи его свойствам. - Документация jQuery API — официальная документация jQuery, включая методы работы с URL.
- SitePoint: Получение параметров URL с помощью JavaScript — руководство по извлечению параметров URL.
- CSS-Tricks: Получение URL и его частей в JavaScript — советы и методы для работы с составными частями URL с использованием JavaScript.
- GitHub Gist: Парсинг URI в JavaScript — код функции анализа URI, которую можно внедрить в свои проекты.


