从从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"});
});无论哪种方式,抛出的错误看起来都是这样的:
对象对象没有方法'get‘a.(匿名函数) 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构建,但是这个问题很容易在控制环境中使用stock库复制。这是一个JSFiddle上的实例。
使用Dojo1.7实例化GA跟踪器对象的正确方法是什么?
发布于 2012-01-06 20:33:40
此错误是由dojox组件中Dojo库中的错误引起的。在我的问题中实例化对象的代码是正确的。
为了解决这个问题,直到下一个Dojo版本,您可以应用此修补程序:(下载)
Index: dojox/analytics/Urchin.js
===================================================================
--- dojox/analytics/Urchin.js~ 2012-01-04 17:20:46.000000000 +0200
+++ dojox/analytics/Urchin.js 2011-08-30 23:18:13.000000000 +0300
@@ -126,7 +126,7 @@
// | pane.attr("href", ref);
// | });
- this.tracker._trackPageview.apply(this, arguments);
+ this.tracker._trackPageview.apply(this.tracker, arguments);
}
});https://stackoverflow.com/questions/8649071
复制相似问题