繁体   English   中英

使用Javascript将UTM参数传递给按钮URL

[英]Passing UTM Parameters using Javascript to Button URL

在这里,我有一个代码,该代码应该在url中采用utm参数,并将其传递给具有特定href域的所有按钮。 但是,此代码在第12行字符27(这是带有for循环的行)上运行了编译错误,我不明白为什么。 有人可以帮忙吗? 谢谢

<script type="text/javascript">

(function() {
var utmInheritingDomain = "https://www.motorstore.com/amr_en/checkout/", 
utmRegExp = /(\&|\?)utm_[A-Za-z]+=[A-Za-z0-9]+/gi,
links = document.getElementsByTagName("a"),
utms = [
"utm_medium={{utm_medium}}", 
"utm_source={{utm_source}}", 
"utm_campaign={{utm_campaign}}", 
];

for (var index = 0; index 0) { 
tempLink = tempLink.replace(utmRegExp, "");

tempParts = tempLink.split("#");

if (tempParts[0].indexOf("?") < 0 ) {
tempParts[0] += "?" + utms.join("&"); 
} else {
tempParts[0] += "&" + utms.join("&");
}

tempLink = tempParts.join("#");
}

links[index].href = tempLink;
}
}());

</script>

似乎您的}过多,并且for循环无效

(function() {
    var utmInheritingDomain = "https://www.motorstore.com/amr_en/checkout/", 
    utmRegExp = /(\&|\?)utm_[A-Za-z]+=[A-Za-z0-9]+/gi,
    links = document.getElementsByTagName("a"),
    utms = [
        "utm_medium={{utm_medium}}", 
        "utm_source={{utm_source}}", 
        "utm_campaign={{utm_campaign}}", 
    ];

    // Invalid for loop
    // for (var index = 0; index 0) {
    for (var index = 0; index < links.length; index++ 
        tempLink = tempLink.replace(utmRegExp, "");

        tempParts = tempLink.split("#");

        if (tempParts[0].indexOf("?") < 0 ) {
            tempParts[0] += "?" + utms.join("&"); 
        } else {
            tempParts[0] += "&" + utms.join("&");
        }

        tempLink = tempParts.join("#");
    }

    links[index].href = tempLink;
    // } <- this one
}());

同样,您的tempLinktempParts变量也未在任何地方定义。

你想让它说一些

for (var index = 0; index < links.length; index++) { 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM