Firefox 44+, Opera 36+, Edge 17+, Safari 10.3+ и Chrome 49+ поддерживают API URLSearchParams :
Для стабильных версий IE существует предложенная google-версия URLSearchParams polyfill .
Она не стандартизирована W3C , но это живой стандарт WhatWG .
Вы можете использовать его по месту, но вам нужно удалить вопросительный знак ?
(например, с помощью .slice(1)
):
let params = new URLSearchParams(location.search);
или
let params = (new URL(location)).searchParams;
Или, конечно, по любому URL:
let url = new URL('https://example.com?foo=1&bar=2');
let params = new URLSearchParams(url.search);
Вы можете получить параметры также с помощью сокращенного .searchParams
на объекте URL, например:
let params = new URL('https://example.com?foo=1&bar=2').searchParams;
params.get('foo'); // "1"
params.get('bar'); // "2"
Вы читаете / устанавливаете параметры через API get(KEY)
, set(KEY, VALUE)
, append(KEY, VALUE)
. Вы также можете перебирать все значения for (let p of params) {}
.
Для аудита и тестирования доступны [reference] [] и образец страницы .