Google Analytics-无法加载资源:http://www.google-analytics.com/ga.js


103

我已经在Chrome的控制台上注意到此错误已有一段时间了:

在此处输入图片说明

我修改了Google的脚本,使其记录错误,因为它使用try{} catch{},这就是我得到的:

在此处输入图片说明

我还没有注意到统计数据的重大变化,它总是起伏不定。

另外,这不仅在我的网站上,而且到处都是。我还没有发现错误报告或类似的东西。

如果我在浏览器上转到http://www.google-analytics.com/ga.js,它将正常加载。

有谁知道这是什么原因的线索?


2
您是在代理还是防火墙后面?
shanabus 2012年

4
如果您尝试在浏览器中直接打开http://www.google-analytics.com/ga.js会发生什么?听起来您可能是在本地HOSTS文件中阻止或重定向google-analytics.com。
Mike

28
检查您是否没有使用AdBlock或可能阻止加载Google Analytics(分析)的工具。
travis-146 2012年

是。我禁用了AdBlock,现在可以正常加载了。没想到,谢谢:)
Nahuel

3
我在使用VPN时遇到此问题,将其关闭可以解决此问题。
nilsi '16

Answers:


188

这是AdBlock的问题。我禁用了它,现在它可以正常加载了。

yagudaev建议(请参阅下面的答案),为了防止AdBlock阻止Google Analytics(分析),您需要编辑所提供的代码段,并https://默认使用而不是相对于协议的URL。这意味着改变

'//www.google-analytics.com/analytics.js'

进入

'https://www.google-analytics.com/analytics.js'

例:

<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-XXXXX-XX', 'auto');
  ga('send', 'pageview');
</script>

1
同样在这里。发生这种情况时,您会感到很傻。我记得花了半天时间修复了一些无法从服务器下载的图像,只是意识到将其命名为“ banner.jpg”也使AdBlock也将其阻止了。谢谢你的提示。
Mosselman

3
然而,它们却允许在Gmail,WTF AdBlock,WTF中投放广告
Nick Shvelidze 2013年

6
这是否意味着GA不会使用Addblock来计算人数?
pie6k 2014年

1
@AdamPietrasiak是的,很不幸。:(一些区域文件管理器列表包含的规则完全阻止了GA,GTM和所有很棒的Google东西...如果您在GA中使用实验,那么即使MVT测试(A / B测试)也无法使用。我不知道为什么对人们有好处(最终是文件管理器列表的维护者)...普通用户不会配置白名单和任何其他设置...他们只会安装插件,仅此而已...我们只是在丢失数据在统计数据中
Sas Sam

3
确实是Ken,不幸的是,即使我将http更改为https,我仍然可以在浏览器的调试控制台(chrome + adBlock plus)中看到它:GET google-analytics.com/analytics.js net :: ERR_BLOCKED_BY_CLIENT
Ovi

7

也可能是您的主机文件,这是我的:

$ grep -ni "google-analytics.com" /etc/hosts
6203:# 127.0.0.1  ssl.google-analytics.com #[disabled = Firefox issues]
6204:127.0.0.1  www.google-analytics.com #[Google Analytics]

就是这样 一开始不知道它是如何进入的,但是删除它是可行的。
克里斯·布鲁姆


3

您遇到问题的原因是,AdBlock将在且仅当未通过脚本时才会阻止此脚本https。请注意,您收到的错误包含http:协议参考。

您所需要做的就是通过添加显式协议(而不是默认的协议相对URL)来更改代码段,以使其通过ssl连接。

<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-XXXXX-XX', 'auto');
  ga('send', 'pageview');
</script>

实际上,这是避免使用AdBlock的用户丢失统计信息的好提示。由于已经有一个可以接受的答案,因此我将向您添加提示。谢谢!
Nahuel

4
https完全没有区别。主机被阻止,而不是URL。
肯·夏普

1
确实是Ken,对我来说不幸的是,即使我将http更改为https,我仍然可以在浏览器的调试控制台中看到它:GET google-analytics.com/analytics.js net :: ERR_BLOCKED_BY_CLIENT
Ovi

2

此错误通常是由于Chrome中安装的扩展程序之一引起的。
有几种调试和解决ERR_BLOCKED_BY_CLIENT消息的方法。

  • 禁用扩展名。
  • 将网域列入白名单。
  • 调试问题。

我建议在以下位置找到更多详细信息 如何解决ERR_BLOCKED_BY_CLIENT中


1
我使用的是Firefox的Disconnect扩展程序,当我将域列入白名单时,它解决了该问题。
Codeinaire

2

2019更新

现在这已经变得非常普遍。

解决方案

  1. 要求人们取消阻止您的网站,(个人经验的坏主意)
  2. 主持人谷歌分析脚本本地(坏主意),因为谷歌是这么说的HERE

从Google的服务器(即https://www.googletagmanager.com/gtag/js)引用JavaScript文件 可确保您可以访问新功能和产品更新(当它们可用时),从而在报告中提供最准确的数据。

  1. 使用服务器端分析。这就是当今人们正在做的事情。如果您使用的是node.js,请使用分析通用分析之类的库

1

一段时间前,我在浏览器中注意到了同样的事情。您是否使用您的Google帐户唱歌给chrome?还是您选择以任何方式选择退出Google Analytics(分析)上的数据收集?

也许Google会记住该选项,并在您登录时在Chrome上使用它。

顺便说一句。我通常可以在浏览器中打开http://www.google-analytics.com/ga.js,但自动加载后它无法正常工作。


4
这是AdBlock的问题。我禁用了它,现在它可以正常加载了。
Nahuel 2012年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.