Как получить текущий URL с помощью JavaScript?
У меня есть проблема: мне нужно получить URL веб-сайта. Не тот URL, который берется из ссылки. При загрузке страницы мне нужно захватить полный, актуальный URL веб-сайта и сохранить его в переменную, чтобы я мог с ним работать по своему усмотрению. Как я могу это сделать?
4 ответ(ов)
Чтобы получить текущий URL страницы, вы можете использовать следующий код:
window.location.href
Этот код возвращает полную строку URL, включая протокол, домен, путь и любые параметры строки запроса.
Чтобы получить путь, вы можете использовать следующий код:
console.log('document.location', document.location.href);
console.log('location.pathname', window.location.pathname); // Возвращает только путь
console.log('location.href', window.location.href); // Возвращает полный URL
document.location.hrefвозвращает полный URL текущей страницы.window.location.pathnameвозвращает только путь URL (например,/folder/page.html).window.location.hrefтакже возвращает полный URL, аналогичноdocument.location.href.
Выбирайте подходящий метод в зависимости от ваших требований!
В вашем вопросе приведён код, который показывает, как работать с параметрами URL в JavaScript. Разберём его подробнее.
При помощи конструктора URL, вы можете легко анализировать текущий URL-адрес страницы. Например, здесь мы создаем объект url, который содержит детали URL-адреса:
let url = new URL(window.location.href);
Вы можете получить различные компоненты URL, такие как hash, host, hostname, и другие, просто обращаясь к свойствам объекта url. В вашем случае, вы видите следующее:
href— полная строка URLpathname— путь страницыsearch— строка запроса (параметры после?)
Чтобы получить конкретные параметры из строки запроса, вы можете использовать метод searchParams.get(). В вашем примере:
url.searchParams.get('name') // Вернёт "jake"
url.searchParams.get('age') // Вернёт "34"
url.searchParams.get('gender') // Вернёт null, так как параметр отсутствует
Таким образом, вы можете извлекать значения параметров по имени. Если параметр с заданным именем не найден, метод вернёт null. Это очень удобно для работы с динамическими данными URL.
Для полного URL с query-строками можно использовать следующий код:
document.location.toString()
Если вам нужен только хост URL, то можно воспользоваться таким вариантом:
window.location
Кодирование URL в JavaScript
Как изменить URL без перезагрузки страницы?
Получение значений из параметров "GET" (JavaScript)
Проверьте, является ли строка в JavaScript URL-адресом
Как получить File() или Blob() из URL в JavaScript?