在这里,我有一段代码,它应该接受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>发布于 2019-02-26 00:26:33
似乎你有太多的}和你的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
}());此外,您的tempLink和tempParts变量也没有在任何地方定义。
发布于 2019-02-26 00:37:01
你想让它说这样的话
for (var index = 0; index < links.length; index++) { https://stackoverflow.com/questions/54870555
复制相似问题