跟踪点击链接不能作为超链接工作

Tracking onClick links not working as hyperlinks

本文关键字:超链接 工作 不能 链接 跟踪      更新时间:2023-09-26
<li><a href="konkurranseregler.html" onclick="javascript:kenshoo_conv('rules','0','','sem','NOK');return false;">KONKURRANSEREGLER</a></li>
<div class ="contactButton"> <a href="http://www.altavdrikke.no/#top" onclick="javascript:kenshoo_conv('kontakt','0','','sem','NOK');return false;"><span>Kontakta Oss</span></a></div> 

这两个按钮不能用作链接,请参阅:http://www.undergroundblc.co.uk/chaqwa/即您单击但没有任何反应。如果您将"返回假"更改为"返回真",按钮将再次工作,但不再向跟踪公司注册。所以我的问题是我如何保持"返回错误"并让它们作为链接工作。

首先。如果你必须在你的html中嵌入javascript(不推荐(,你不需要在事件中有javascript:声明(在你的例子中onclick(。使用 dom 方法会更好 el.addEventListener('click', kenshoo_conv, false) .

如果您需要在页面卸载之前触发一个函数,则需要对该函数进行一些控制,以了解它何时成功触发跟踪行为。

附加onclick后,您可以使用 event 参数(传递给函数(来阻止事件触发,evt.preventDefault() ,执行您需要执行的所有操作,然后在跟踪器成功触发时设置location.href

所有代码可能看起来像这样(假设一切都已规范化,因此不在IE中(:

.HTML

<a href="konkurranseregler.html" data-args="rules,0,,sem,NOK"   
   class="kenshoo_conv_link">KONKURRANSEREGLER</a>

贾夫文

function kenshoo_conv(evt) {
    var dest = this.href,
        args = this.getAttribute('data-args').split(",");
    evt.preventDefault();
    //add success event to arguments
    args.push(function () {
       location.href = dest;
    });
    //fire the tracking function
    trackMe.apply(this, args);
}
var kenshoo_conv_links = document.getElementsByClassName("kenshoo_conv_link");
for (var i = 0, il = kenshoo_conv_links.length; i < il; i += 1) {
    kenshoo_conv_links[i].addEventListener('click', kenshoo_conv, false);
}

这将使 trackMe 函数中的最后一个参数成为回调,以将位置更改为链接的目标。因此,一旦跟踪器成功触发,您必须触发该功能。如果您不知道,可以在超时后执行此操作(不理想(