Я использую следующий код для отображения результата, переданного системой отслеживания кликов в URL-адресе веб-страницы. Следующее идет перед тегом "/ head":
<script>
function getURLParameter(name) {
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split(" = ");
if (pair[0] === name){return pair[1];}
}
return "";
}
</script>
Следующее находится в теге "body" для отображения результата:
<script>document.write(getURLParameter('name'))</script>
Однако проблема в том, что если результат - два слова, дисплей выглядит как "Word20%Word".
Может кто-нибудь помочь с этим, пожалуйста?
Заранее спасибо.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Чтобы строки с символами, не поддерживающими URL-адресами, такими как пробел, стали удобными для URL-адресов, мы их кодируем.
Для этого используется API-интерфейс браузера encodeURIComponent.
Чтобы декодировать закодированную строку обратно, мы используем decodeURIComponent.
const string = 'i have spaces';
const encoded = encodeURIComponent(string);
console.info(encoded);
const decoded = decodeURIComponent(encoded);
console.info(decoded);Вы хотите проверить decodeURIComponent(), который отвечает за декодирование этих сущностей (% 20 и т. д.) Обратно в их соответствующие аналоги:
function getURLParameter(name) {
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split(" = ");
if (pair[0] === name){return decodeURIComponent(pair[1]);}
}
return "";
}
Возможный дубликат Как я могу получить значения строки запроса в JavaScript?