广告代理商提供的广告没有针对点击跟踪网址的参数,我遇到了这个问题。
在我的示例中,点击网址为: http://landing-page.com
我的跟踪网址将是: http://tracker.com?url=
期望的效果是,当用户点击广告素材上的任何链接时,他将被发送到:
http://tracker.com?url=http://landing-page.com
问题是,链接是使用<a>
标记或click
eventListener
来定义的。使用onclick
或addEventListener('click', func)
)
我可以遍历所有a[href^=http]
。
如何捕获/添加我的URL到事件监听器?
非常感谢提前
编辑:
所以对于href
我正在做这样的事情:
<script>
var links = adContainer.querySelectorAll('a[href^=http]');
window.adclick = 'http://tracker.com?url='
for (var i = 0; i < links.length; i++) {
(function(i) {
links[i].addEventListener('click', function(e) {
window.open(window.adclick + links[i].href, '_blank');
e.preventDefault();
});
})(i);
}
</script>
我遇到的问题是,我无法解决问题,或在网上找到如何与事件监听器做类似的事情。
答案 0 :(得分:1)
只需尝试更改:
window.open(window.adclick + links[i].href, '_blank');
in
window.open(window.adclick + this.href, '_blank');
所以试试这个:
<script>
var links = adContainer.querySelectorAll('a[href^=http]');
window.adclick = 'http://tracker.com?url='
for (var i = 0; i < links.length; i++) {
links[i].addEventListener('click', function(e) {
window.open(window.adclick + this.href, '_blank');
e.preventDefault();
});
}
</script>
答案 1 :(得分:-1)
经过多次尝试后,我找到了一个简单的解决方案。
我仍然应该检查网址是否以http
开头 - 但是你得到了要点:
window._open = window.open;
window.open = function(url, target) {
window._open('http://tracker.com?url=' + url, target);
}