![](/img/trans.png)
[英]Omniture / Adobe Analytics tracking breaks external links in Safari
[英]Omniture link tracking in Chrome and Safari
我們最近升級到Omniture代碼的最新版本AppMeasurement 1.2.3。 我們正在嘗試使用s.tl函數來記錄用戶單擊我們網站中不同鏈接的時間。 不幸的是,我很難在Chrome中使用它。
我們的鏈接具有data-track屬性,該屬性包含一個字符串,用於標識用戶單擊的鏈接的類型:
<a href="latest-news.php" data-track="Latest News">Latest News</a>
然后,我們有了這個點擊處理程序:
$('#pageBody')
.off('click.omniture')
.on('click.omniture', '[data-track]', function () {
var track = this.getAttribute('data-track') || 'generic-link';
OmnitureUtil.trackWidgetLink(track, this);
});
哪個調用處理Omniture調用的這種函數:
OmnitureUtil.trackWidgetLink : function(linkName, linkElement) {
s = s_gi(s_account);
s.tl(linkElement, 'e', linkName, null, 'navigate');
return false;
},
在Chrome中調用“ trackWidgetLink”,然后進行導航,但是Charles代理客戶端顯示未發出Omniture圖像請求。 因此,不會跟蹤click事件。 在Firefox中工作正常。 我知道WebKit瀏覽器的問題,瀏覽器在JS可以發送圖像請求之前取消了圖像請求。 但這應該是在H25中修復的 ,而AFAIK我正在使用Omniture建議的方法來解決此問題。
直接調用該方法在控制台中可以正常工作,例如,它可以用作內聯單擊處理程序。
<a href="latest-news.php" data-track="Latest News" onclick="s.tl(this,'e','xxx',null,'navigate');return false">Latest News</a>
但是我不想四處添加內聯處理程序到我們所有的鏈接中。 新的Omniture代碼是否還有其他人遇到這種問題? 誰能看到我在做什么錯?
糟糕,我只需要從點擊處理程序而不是trackWidgetLink
返回false,所以:
$('#pageBody')
.off('click.omniture')
.on('click.omniture', '[data-track]', function () {
var track = this.getAttribute('data-track') || 'generic-link';
OmnitureUtil.trackWidgetLink(track, this);
return false;
});
這使代碼可以在Chrome中運行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.