在这里我需要一点帮助。我是javascript的初学者,遇到了Google跟踪代码管理器中的某些代码,该代码旨在将查询字符串传递给所有页面。除了在网站的特定页面上之外,它运行良好。
在该页面上,我有一堆用户可以滚动的引号。每当有人单击按钮以阅读轮播上的下一个报价时,页面就会刷新(我们不想要)。
有人可以帮助我调整此代码,以便在该特定用例中不刷新页面吗?
我认为最大的问题是轮播使用<a> </a>
标签包裹。
<script>
for (var n = 0; n < document.getElementsByTagName('a').length; n++) {
var link = document.getElementsByTagName('a')[n].href;
if (link.includes('?')) {
document.getElementsByTagName('a')[n].href = link.concat('&' + {{Query String}});
}
else {
document.getElementsByTagName('a')[n].href = link.concat('?' + {{Query String}});
}
}
</script>
答案 0 :(得分:0)
您可以使用querySelectorAll
对带有href
参数的链接进行排序。
qstring = "x=1";
links = document.querySelectorAll("a[href]");
links.forEach(function(el){
var link = el.href;
if (link.includes('?')) {
el.href = link.concat('&' + qstring);
} else if (link[0] != "#") { {
el.href = link.concat('?' + qstring);
}
});
<a href="https://test.com/?xx">Test.com</a>
<a href="https://test.com/">Test.com</a>
<a href="https://test.com">Test.com</a>
<a name="a">Test.com</a>