Web. Парсинг UTM-меток JS-скриптом

Не так давно возникла задача парсить и отправлять информацию о UTM-метках в письме обратной связи. Благо в гугле способ парсить UTM-метки в JS нашелся очень быстро, поэтому дабы не забыть выложу его здесь:

Вставляем куда-либо в футер следующий код, задающий глобальные переменные:

<script type="text/javascript"> 
 var namekey = ['utm_campaign','utm_content'], //Ключи, которые будем извлекать 
 div_class = '#rezult', // Куда будем выводить результат, если след значение задано как text
 input_hide = 'hidden'; //hidden - скрытое поле, text - выводим в какой-то элемент

 $(document).ready(function (){ 
 input(); 
 }); 
</script>

Далее создаем .js файл и подключаем его на страницу. В нем будет происходить вся «магия» парсинга UTM из адресной строки:

function parseGET(url){
 if(!url || url == '') url = decodeURI(document.location.search);
 if(url.indexOf('?') &lt; 0) return Array(); url = url.split('?'); url = url[1]; var GET = [], params = [], key = []; if(url.indexOf('#')!=-1){ url = url.substr(0,url.indexOf('#')); } if(url.indexOf('&amp;') &gt; -1){ params = url.split('&amp;');} else {params[0] = url; }
for (r=0; r&lt;params.length; r++){
for (z=0; z&lt;namekey.length; z++){ if(params[r].indexOf(namekey[z]+'=') &gt; -1){
if(params[r].indexOf('=') &gt; -1) {
key = params[r].split('=');
GET[key[0]]=key[1];
}
}
}
}
return (GET);
};

function input(){

var $_GET = parseGET();

for(z=0; z&lt;namekey.length; z++){
if(!!$_GET[namekey[z]]){
$(div_class).append('<input name="'+namekey[z]+'" type="'+input_hide+'" value="'+$_GET[namekey[z]]+'" />
');
}
}

}

Вам понравиться