【发布时间】:2015-08-24 08:38:45
【问题描述】:
我正在尝试设置一个 Google 标记管理器变量来读取 URL 参数(如果存在),如果不存在,请检查该变量是否存在于数据层中,如果不存在则返回 false。
但是,GTM 给出了一个解析错误,指出缺少 ')'。任何帮助将不胜感激,不确定是我的代码还是 GTM 需要特定的语法?
function getParameterByName(name) {
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
function () {
var hid = getParameterByName('hid').length();
if (hid > -1) {
return getParameterByName('hid');
}
else
if (dataLayer[0].emailHash.length >-1) {
return dataLayer[0].emailHash;
}
else
{
return false
}
}
【问题讨论】:
-
只是一个注释,在“return getParameterByName('hid')”行中,您将一个整数传递给函数,因为您已将变量“hid”定义为长度。我认为你应该有“var hidLength = getParameterByName('hid').length);”并对其余代码进行后续更改。
标签: javascript google-tag-manager