【发布时间】:2012-01-28 18:17:50
【问题描述】:
从 Dojo 1.6 升级到 1.7 开始,我的网站跟踪代码似乎抛出了一个我无法解决的错误。我比较了 1.6 和 1.7 的 API 文档,没有发现任何显着差异。
我的原始代码是一个靠近<body> 末尾的声明性小部件:
<div data-dojo-type="dojox.analytics.Urchin"
data-dojo-props='acct: "UA-88003-8"'>
</div>
此后,我从<head> 中手动加载的脚本中尝试了这样的程序化版本:
require(["dojox/analytics/Urchin"], function(ga) {
var analytics = new ga({acct: "UA-88003-8"});
});
无论哪种方式,抛出的错误看起来都是这样的:
Uncaught TypeError: Object [object Object] has no method 'get' a.(匿名函数)ga.js:11 require.cache.dojox/analytics/Urchin._213.trackPageView dojo:15 require.cache.dojox/analytics/Urchin._213.GAonLoad dojo:15 require.cache.dojox/analytics/Urchin._213._gotGA dojo:15 (匿名函数)dojo:15 _310
我正在使用 Dojo 的自定义构建,但是这个问题很容易在控制环境中使用股票 Dojo 库复制。这是example on JSFiddle。
使用 Dojo 1.7 实例化 GA 跟踪器对象的正确方法是什么?
【问题讨论】:
-
如果用于在 1.6 中实例化 Urchin 的代码在 1.7 中不起作用,则这是一个错误。代码的 AMD 转换中可能引入了一个错误。您应该在 bugs.dojotoolkit.org 提交报告
-
@peller 我提交了a bug report here。
标签: javascript google-analytics dojo urchin