gpt4 book ai didi

javascript - Google 跟踪代码管理器自定义 JavaScript

转载 作者:行者123 更新时间:2023-12-03 09:06:26 25 4
gpt4 key购买 nike

我正在尝试设置一个 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
}
}

最佳答案

如果将其分解为两个自定义 JS 变量,效果可能会更好,因为您不操作全局变量:

变量#1:按名称获取参数:

function() {
return function (name){
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
}

变量#2:测试数据层:

function () {
var fn_getParameterByName = {{getParameterByName}};
var hid = fn_getParameterByName('hid');
if (hid.length > -1) {
return fn_getParameterByName ('hid');
}
else
if (dataLayer[0].emailHash.length >-1) {
return dataLayer[0].emailHash;
}
else
{
return false
}
}

关于javascript - Google 跟踪代码管理器自定义 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32177860/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com