【发布时间】:2015-03-26 15:19:52
【问题描述】:
我必须使用从我的服务器提供的本地 analytics.js。我只想在必要时使用本地版本 - 那么有没有解决方案来检查对 analytics.js 的调用是否失败?
我曾考虑使用全局 window.onerror 对其进行检查,但我认为外部文件调用失败不会导致错误。我试过检查 ga() 是否可用,但即使analytics.js 没有加载也是如此。
有什么想法吗?如果您想知道,并非该站点的所有用户都可以访问互联网,这就是我提供本地版本的原因。在这种情况下会发生更多事情,例如添加一个 sendHitTask 以将答案从 analytics.js 重定向到本地服务器。
编辑 检查用户是否可以访问 Internet 的解决方案也可以。但我也没有找到适用于所有现代浏览器的任何解决方案。
【问题讨论】:
-
analytics.js 未加载时,console.log(window.ga) 打印什么?
-
可能未定义,例如 yahoo.com
-
@Huangism 我也是这么想的,但是 OP 声称即使在 analytics.js 没有加载时它也存在。您是否在项目的其他地方定义了 ga?
-
在这两种情况下都不是未定义的。 ga() 在 GA sn-p 中定义,然后 ga() 加载 analytics.js。
-
ga 对象在页面中包含的引导代码中设置。即使未加载 analytics.js 文件,它也存在(这很重要,它会存储交互直到可以处理它们)。所以测试他不会有帮助。
标签: javascript jquery google-analytics