gpt4 book ai didi

javascript - 由于 Google Analytics 跨域 javascript 链接跟踪,目标 ="_blank"未打开新页面

转载 作者:行者123 更新时间:2023-12-02 19:09:37 25 4
gpt4 key购买 nike

我可能搞砸了 leanstartupcircle.com 处的 onClick javascript 。我正在尝试使用 javascript 将链接跟踪添加到我用属性标记的所有出站链接。无论我做什么,都会阻止 target="_blank" 运行,并且可能也不会触发事件。

另一条信息,target="_blank" 在暂存和开发方面运行良好,因为我没有在这些服务器上显示 Google Analytics 初始化代码。这就是为什么我相信我的 JavaScript 是不正确的。

需要一双更好的眼睛。我做错了什么?

function parseUrl( url ) {
var a = document.createElement('a');
a.href = url;
return a;
};

function getDomain( url ) {
hostname = parseUrl(link).hostname
splitHostname = hostname.split('.');
if (splitHostname.length > 2) {
domain = splitHostname[1] // Most likely the domain
} else {
domain = splitHostname[0]
};
return domain;
};

function trackLinks() {
// Setup outbound link tracking and push events to GA based on link attribute linkTracking
$('a').each(function () {
link = $(this).attr('href');
linkTracking = $(this).attr('linkTracking');
if (linkTracking) {
category = linkTracking.toLowerCase()
action = getDomain(link);
label = link;
$(this).attr('target', '_blank').attr('onClick', '_gaq.push(["_link", "' + link + '"]); return false; ' +
'recordOutboundLink(this, "' + category + '", "' + action + '", "' + label + '"); return false;');
};
});
};

这是我的谷歌分析代码。为了使用跨域跟踪,Google 建议进行一些修改:

var _gaq = _gaq || [];
var pluginUrl =
'//www.google-analytics.com/plugins/ga/inpage_linkid.js';
_gaq.push(['_require', 'inpage_linkid', pluginUrl]); // Enhanced Link Attribution
_gaq.push(['_setAccount', 'UA-30468280-1']);
_gaq.push(['_setDomainName', 'leanstartupcircle.com']);
_gaq.push(['_setAllowLinker', true]);
_gaq.push(['_trackPageview']);

(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();

// Delay outbound page load in order to record outbound links
function recordOutboundLink(link, category, action) {
try {
var myTracker=_gat._getTrackerByName();
_gaq.push(['myTracker._trackEvent', category , action ]);
setTimeout('document.location = "' + link.href + '"', 100)
}catch(err){}
}

最佳答案

返回 false 会取消点击操作,这意味着链接将不起作用。此外,您调用的第二个方法永远不会触发,因为 return false 将退出。

以不同的方式查看代码

function anExample() {
_gaq.push(XXX);
return false; <-- I cause the function to exit
recordOutboundLink(XXXX); <-- I would never be called
return false;
}

如果您希望跟踪该链接,则需要从点击事件中删除return false

关于javascript - 由于 Google Analytics 跨域 javascript 链接跟踪,目标 ="_blank"未打开新页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13919561/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com