Взгляните на статью MDN о window.location
.
QueryString доступен в формате window.location.search
.
Решение, которое также работает в устаревших браузерах
MDN предоставляет пример (более недоступный в указанной выше статье) того, как получить значение одного ключа, доступного в QueryString. Что-то вроде этого:
function getQueryStringValue (key) {
return decodeURIComponent(window.location.search.replace(new RegExp("^(?:.*[&\\?]" + encodeURIComponent(key).replace(/[\.\+\*]/g, "\\$&") + "(?:\\=([^&]*))?)?.*$", "i"), "$1"));
}
// Would write the value of the QueryString-variable called name to the console
console.log(getQueryStringValue("name"));
В современных браузерах
В современных браузерах у вас есть searchParams
свойство интерфейса URL, которое возвращает объект URLSearchParams . Возвращаемый объект имеет ряд удобных методов, в том числе get-метод. Таким образом, эквивалент приведенного выше примера будет:
let params = (new URL(document.location)).searchParams;
let name = params.get("name");
Интерфейс URLSearchParams также можно использовать для анализа строк в формате строки запроса и превращения их в удобный объект URLSearchParams.
let paramsString = "name=foo&age=1337"
let searchParams = new URLSearchParams(paramsString);
searchParams.has("name") === true; // true
searchParams.get("age") === "1337"; // true
Обратите внимание, что поддержка браузера в этом интерфейсе все еще ограничена, поэтому, если вам нужно поддерживать устаревшие браузеры, придерживайтесь первого примера или используйте полифил .