В браузерах есть новый API с именем URLSearchParams
, который позволяет извлекать и изменять значения строки запроса.
В настоящее время он поддерживается в Firefox 44+, Chrome 49+ и Opera 36+.
Initialize / вход
Для начала создайте новый объект URLSearchParams. Для текущих реализаций вам необходимо удалить «?» в начале строки запроса, используя slice(1)
в строке запроса, , как предлагает Джейк Арчибальд :
var params = new URLSearchParams(window.location.search.slice(1)); // myParam=12
В более поздних реализациях вы сможете использовать его без слайса:
var params = new URLSearchParams(window.location.search); // myParam=12
Получить
Вы можете получить параметры из него с помощью метода .get
:
params.get('myParam'); // 12
Установить
Параметры могут быть изменены с помощью .set
:
params.set('myParam', 'newValue');
выход
И если текущая строка запроса снова нужна, метод .toString
предоставляет ее:
params.toString(); // myParam=newValue
В этом API есть множество других методов .
Polyfill
Так как поддержка браузера все еще довольно слабая, есть маленький полифилл от Andrea Giammarchi (<3kB) </a>.