我正在使用当前的Google Analytics跟踪代码,而在Firefox 59上,我在控制台中收到此错误:
返回语句后无法访问的代码
在这个javascript上:https://www.googletagmanager.com/gtag/js?id=UA-my-tracking-code:formatted
由于这个问题似乎不是可谷歌的,因此似乎其他人没有这个问题,我的猜测是我做错了什么。但这可能是什么?
我将代码段放在<head>
中,就像文档说的那样:
<!DOCTYPE html>
<html>
<head>
<title>some title</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-my-tracking-code"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-my-tracking-code');
</script>
</head>
<body>
blah blah
</body>
</html>
答案 0 :(得分:12)
这不是您的错。如果您使用Firefox修饰代码,可以在以下位置找到
:Gc = function (a, b, c) {
var d = a.split('.');
var e = function (a, b) {
for (var c = 0; void 0 !== a && c < d.length; c++) {
if (null === a) return !1;
a = a[d[c]]
}
return void 0 !== a || 1 < c ? a : b.length ? e(Hc(b.pop()), b) : Ic(d)
};
return e(Cc.eventModel, [ // <= True return value
b,
c
]);
return Ic(d) // <= This can never be reached!
},
要美化代码:
{}
的图标以进行美化。但是,引用将丢失。 Firefox正确地指出了该错误,由于该函数更早返回,因此将永远无法访问函数Ic(d)
。似乎是Google跟踪代码管理器的错误,但是,如果不检查原始代码,我们就无法判断其严重程度。
答案 1 :(得分:3)
我的OCD不会这样做。警告和我的大脑错误一样严重...大声笑
@Me提供的答案-使我执行以下操作:
<script async src="https://www.googletagmanager.com/gtag/js?id={Google Analytics Id here}"></script>
标签中的网址,并获取JavaScript的副本。警告消失了,到目前为止,一切似乎都可以正常工作-控制台中没有其他或新的错误/警告,而且Analytics /分析数据仍未通过。
这显然不是一个理想的解决方案-我将不得不继续监视它,直到以下情况之一:a)Google修复了他们的代码(顺便说一句,它忽略了整个分号-我怀疑它是否接近通过Linter )或b)Google对代码进行了其他更改,导致我的代码损坏或我的Google Analytics(分析)停止报告。
答案 2 :(得分:2)
并非所有版本的跟踪代码都会出现此问题。
此代码段使用gtag
会引起unreachable code after return statement
警告(在Firefox中):
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-XXXXXX-YY"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-XXXXXX-YY');
</script>
来源:Google Analytics(分析)中的“管理”部分:Admin › Tracking Info › Tracking Code
,上次更新是上帝知道的时间。
使用analytics.js
的以下代码段不会触发错误:
<script>
window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
ga('create', 'UA-XXXXXX-YY', 'auto');
ga('send', 'pageview');
</script>
<script async src='https://www.google-analytics.com/analytics.js'></script>
摘自官方文档: Adding analytics.js to Your Site (第二个代码示例),“最新更新于2018年7月30日。”
请记住要使用您自己的媒体资源ID更新XXXXXX-YY
。
有什么区别?
在“管理”部分:
全局站点标记(gtag.js)和Google跟踪代码管理器是新实施的推荐跟踪方法。其他实现选项也可用,包括analytics.js和Measurement Protocol。详细了解其他跟踪方法。
使用analytics.js
对于新的实现,建议使用gtag.js库跟踪代码。但是,在某些情况下,您可能更喜欢使用analytics.js(例如,您的网站已经在使用analytics.js。)请参阅开发者文档以获取更多信息。