@Alex_87

Как распарсить url средствами javascript?

Коллеги, получил от клиента какой-то странный код для внедрения на сайт(чтобы разобрать UTM метки из ссылки), который должен читать содержимое url и вытаскивать на сайт. Причём, как я понял, js скрипт должен работать вместе с php. Кто-нибудь может подсказать, что с этим делать? Можно ли всё это сделать с помощью javascript?

// это вставить в код страницы

<script type="text/javascript"> 

  var namekey = ['utm_source','utm_campaign','utm_medium','utm_term','utm_content'], //Ключи какие будем парсить 

      div_class = '.rezult-2', // Куда будем выводить результат 

      input_hide = 'hidden'; //hidden 



$(document).ready(function (){ 

    input();

});

</script>


//php скрипт



function parseGET(url){ 

  if(!url || url == '') url = decodeURI(document.location.search); 

  if(url.indexOf('?') < 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('&') > -1){ params = url.split('&');} else {params[0] = url; } 



  for (r=0; r<params.length; r++){ 

    for (z=0; z<namekey.length; z++){ 

      if(params[r].indexOf(namekey[z]+'=') > -1){ 

        if(params[r].indexOf('=') > -1) { 

          key = params[r].split('='); 

          GET[key[0]]=key[1]; 

        } 

      } 

    } 

  } 

  return (GET); 

}; 



function input(){ 



  var $_GET = parseGET(); 



  for(z=0; z<namekey.length; z++){ 

    if(!!$_GET[namekey[z]]){ 

      $(div_class).append('<input name="'+namekey[z]+'" type="'+input_hide+'" value="'+$_GET[namekey[z]]+'">'); 

    } 

  } 



  $(div_class).append('<input name="refer" type="'+input_hide+'" value="'+refer+'">'); 

}
  • Вопрос задан
  • 149 просмотров
Пригласить эксперта
Ответы на вопрос 1
Krasnodar_etc
@Krasnodar_etc
fundraiseup
Почему вы решили, что это php?) Просто js + jquery
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы