2015-12-21 2 views
0

Я вернулся под функцией JavaScript, чтобы читать имя и значение cookie. Я могу получить имя и значение, когда я использую скрипт в консоли браузера Chrome и Firefox.Google Tag Manager пользовательский JavaScript-ошибка

    getCookie('xyz') ; 

       function getCookie(name) 
       { 
      var re = new RegExp(name + "=([^;]+)"); 
      var value = re.exec(document.cookie); 
     return (value != null) ? unescape(value[1]) : null; 
      } 

, но когда я использую тот же код в Диспетчер тегов Google с помощью переменной пользовательского JavaScript Я получаю ошибку «скобку (требуется».

Я не могу понять, что это ошибка, этот код работает везде, за исключением Менеджера тегов Google.

ответ

1

Решение состоит в использовании встроенной переменной «Cookie» (перейти к переменным, новым, 1-го партийного файла cookie, ввести имя для переменной и в конфигурации имя печенье). Нет необходимости в домашних растворах.

Строго ответить на вопрос, пользовательское JavaScript переменные должны быть записана в виде анонимной функции с возвращаемым значением:

function() { 
return "something"; 
} 

я уверен, что есть обходной путь для передачи параметров (т.е. имя файла cookie), но это обычно не так, как используются пользовательские переменные javascript, и вам это не нужно для вашего прецедента.

если вы настаиваете на вашей функции вы всегда можете вернуть его с помощью персонализированного кода JavaScript переменная:

function() { 
return function (name) { 
      var re = new RegExp(name + "=([^;]+)"); 
      var value = re.exec(document.cookie); 
     return (value != null) ? unescape(value[1]) : null; 
      } 
} 

магазин это в обычае переменная JavaScript называется getCookie и доступ в в пользовательских HTML тегов с помощью {{getCookie}} ('хуг'). Не очень хорошая идея, но возможно.

Смежные вопросы