我正在将 Google Analytics 与我的 ionic Framework 应用程序一起使用,并按照 https://blog.nraboy.com/2014/06/using-google-analytics-ionicframework/ 中的说明进行操作。 ,我在谷歌分析中使用移动应用程序首选项。首先,我在我的设备中测试了它,但在分析概述中没有移动应用程序用户,而是使用 Windows 和 Mac 的用户。在我的浏览器中出现“ Uncaught ReferenceError :分析未定义”。我不知道我做错了什么...
这是我的代码:
.controller('AnalyticsController', function($scope) {
if(typeof analytics !== undefined) { analytics.trackView("Analytics Controller"); }
$scope.initEvent = function() {
if(typeof analytics !== undefined) { analytics.trackEvent("Category", "Action", "Label", 25); }
}
})
.run(function($ionicPlatform, $ionicPopup) {
$ionicPlatform.ready(function() {
if(typeof analytics !== undefined) {
analytics.startTrackerWithId("UA-xxxx");
} else {
console.log("Google Analytics Unavailable");
}
});
});
最佳答案
这意味着,analytics
尚未定义。您的 if
语句未捕获它的原因是 typeof undefined
返回字符串 "undefined"
而不是基元 undefined
,所以你应该这样做:
.controller('AnalyticsController', function($scope) {
if(typeof analytics !== 'undefined') { analytics.trackView("Analytics Controller"); }
$scope.initEvent = function() {
if(typeof analytics !== 'undefined') { analytics.trackEvent("Category", "Action", "Label", 25); }
}
})
.run(function($ionicPlatform, $ionicPopup) {
$ionicPlatform.ready(function() {
if(typeof analytics !== 'undefined') {
analytics.startTrackerWithId("UA-xxxx");
} else {
console.log("Google Analytics Unavailable");
}
});
});
理想情况下,您应该建立一个工厂来创建可注入(inject)的分析服务,而不是在全局范围内引用事物。
关于javascript - 有谁知道 "Uncaught ReferenceError: analytics is not defined "是什么意思以及为什么安装后没有应用程序用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29664948/