跟踪不同浏览器中的链接

时间:2015-06-25 08:52:33

标签: javascript jquery analytics adobe-analytics

我使用adobe analytics并尝试使用此跟踪链接:

$(document).on('click', 'a', function() { 
    s.tl(this, 'e', 'link', null, 'navigate'); 
    return false; 
});

$("a").click(function() { 
    s.tl(this, 'e', 'link', null, 'navigate'); 
    return false; 
});

当我测试并点击Chrome中的链接时,我收到第一个状态页面已取消并使用chrome中的第二个选项一切正常但在Firefox中我收到status 0 GET (NS_BINDING_ABORTED)

是否有任何解决方法可以在所有浏览器中无问题地运行,或者我应该修复以前的任何内容?

来自here是我使用第二个框作为示例使用的示例

我找到了这个解决方案:

https://marketing.adobe.com/developer/es/forum/general-topic-forum/custom-link-tracking-capturing-issue

建议将此作为解决方法:

<script language="javascript">
function pejTracking(linkname,url) {
var s=s_gi('myprodsuite');
s.tl(this,'o',linkname,null,navigate(url));
}
function navigate(url) {
window.location=url;
}
</script>

<a href="#" onclick="pejTracking('mytest', 'mytestpage.com');return false;">This really works!</a>

是否有可能使其与我的帖子开头的JQuery文档或onclick函数一起使用,并且是否需要在每个链接中都有onclick?

1 个答案:

答案 0 :(得分:1)

这很常见,而且(可能)不是问题。

发生此错误是因为链接跟踪图像请求旨在让浏览器在等待Adobe数据收集服务器的响应之前进入下一页。

Adob​​e参考: NS_Binding_Aborted in Packet Monitors

<强>更新

您评论过:

  

是的,我已经看过这个,但有可能解决它吗?

你要求“解决”这个问题,好像它已被打破了......我的观点是它没有坏了。

但如果你坚持要确保没有显示,你需要做你已经在问题中发布的解决方案。

jQuery的等价物是使用event.preventDefault(),然后在window.location调用(在s.tl回调中)之​​后更新navigate与非jQuery解决方案相同。

您还问过:

  

那铬呢?

怎么样?这不是特定于浏览器的。它与时间有关。在Chrome中尝试足够多次,你也应该在Chrome中看到NS_Binding_Aborted错误。也许。取决于连接速度,当前CPU资源,一般的互联网流量,星星的对齐方式等等 - 你知道,所有能使请求和响应发生的事情发生得更晚,而不是更快。