ga.GetAll() разбивает функцию, заставляя ее возвращать неопределенное значение в переменной GTM javascript

#javascript #google-tag-manager

#язык JavaScript #google-менеджер тегов

Вопрос:

Итак, я создал переменную «код javascript» в GTM и пытаюсь clientID подключиться ga.getAll , и у меня есть следующий код:

 function foo() {  var trackers = ga.getAll();  if (trackers.length gt; 0) {  return trackers[0].get('trackingId') === 'UA-188398635-1' ? trackers[0].get('clientId') : 'nonon';  } }  

Но он всегда возвращается undefined , даже если я заставляю его возвращать строковую константу 'asdasd' — наличия ga.getAll в коде достаточно для function разрыва. И самое непонятное — один и тот же код отлично работает в консоли отладки. Помогите, пожалуйста.

Ответ №1:

Поскольку foo возвращает значение не определено, это означает, что trackers.length оно равно 0. Попробуйте это:

 function foo() {  var trackers = ga.getAll();  if(trackers.length gt;0) {  return trackers[0].get('trackingId') === 'UA-188082465-1' ? trackers[0].get('clientId') : 'nonon';  } else {  return 'This is not undefined';  } }  

Комментарии:

1. Нет, по-прежнему возвращает «неопределенный»

2. @Герман, в чем заключается ценность trackers[0].get('clientId') ?

3. Я не могу получить его, так как функция прерывается, как только я вызываю ga.getall

4. @Герман, в чем заключается ошибка, которую вы получаете?

5. В журнале нет ошибки, функция просто возвращает «не определено».