Как получить текущий 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 без перезагрузки страницы?
React-router URLs не работают при обновлении страницы или ручном вводе адреса
Получение значений из параметров "GET" (JavaScript)
Как создать диалог с кнопками "Ок" и "Отмена"