Javascript 使用Google Analytics跟踪离线事件
我试图在我的网站上跟踪用户的活动,如点击或鼠标悬停以及不同类型的事件。。。。 即使用户脱机工作,是否有跟踪事件的解决方案。。。 我是否可以将它们存储在cookie之类的东西中,并在找到活动的internet连接时将它们发送到服务器 可能吗Javascript 使用Google Analytics跟踪离线事件,javascript,google-analytics,google-analytics-api,Javascript,Google Analytics,Google Analytics Api,我试图在我的网站上跟踪用户的活动,如点击或鼠标悬停以及不同类型的事件。。。。 即使用户脱机工作,是否有跟踪事件的解决方案。。。 我是否可以将它们存储在cookie之类的东西中,并在找到活动的internet连接时将它们发送到服务器 可能吗 谢谢这取决于您的目标浏览器类型。这些是用于HTML5离线网络应用程序的吗 如果是这样的话,您可以自己实现这一点 使用离线事件、本机JSON和HTML5本地存储,一些可能可行的代码: if(!localStorage.getItem("offlineGA")){
谢谢这取决于您的目标浏览器类型。这些是用于HTML5离线网络应用程序的吗 如果是这样的话,您可以自己实现这一点 使用离线事件、本机JSON和HTML5本地存储,一些可能可行的代码:
if(!localStorage.getItem("offlineGA")){
localStorage.setItem("offlineGA","[]");
}
var _ogaq = {
push : function(arr){
if(navigator.onLine || !("onLine" in navigator)){ // if online or if browser doesn't support onLine/offLine detection.
_gaq.push(arr);
}
else{
var stored = JSON.parse(localStorage.getItem("offlineGA"));
stored.push(arr);
localStorage.setItem("offlineGA", JSON.stringify(stored));
}
}
};
$(window).bind("online", function(){ // if you don't have jQuery, you can do window.ononline instead
_gaq.push( JSON.parse(localStorage.getItem("offlineGA")) );
localStorage.setItem("offlineGA","[]"); //empty it
});
然后您就可以使用\u ogaq
作为\u gaq
的包装器
即:
您可能会发现这也很有帮助。在线/离线并不像人们想象的那么可靠
< P>另一个要考虑的是,所记录的时间将是数据发送的时间,而不是在设备上本地收集的时间。幸运的是,现在有一种方法可以避免这一问题,使用测量协议和qt参数(队列时间),它允许您发送事件/视图的时间等。。以毫秒为单位。我在realtime viewer中尝试过这一点,它确实在录制时按预期显示
意识到这是一个老问题,但这个周末它一直让我发疯。对我不起作用,所以我发现,阵列的GA推送没有正常工作。 因此,我循环数组,将每个条目推送到Google Analytics。现在它就像一个符咒
$(window).bind("online", function(){ // if you don't have jQuery, you can do window.ononline instead
var json = JSON.parse(localStorage.getItem("offlineGA"));
for(var i = 0; i < json.length; i++) {
_ogaq.push([json[i][0],json[i][1], json[i][2]]);
}
localStorage.setItem("offlineGA","[]"); //empty it
var json = "";
});
$(window.bind(“online”,function(){//如果没有jQuery,可以改为使用window.ononline
var json=json.parse(localStorage.getItem(“offlineGA”);
对于(var i=0;i
根据这一点,离线行为是由谷歌离线支持的。
您只需添加这些库
npm install --save-dev sw-offline-google-analytics
...
importScripts('path/to/offline-google-analytics-import.js');
goog.offlineGoogleAnalytics.initialize();
如果您试图在短时间内向GA发射超过10次命中,它将被丢弃,并且只发送前10次。这意味着,对于这段代码,如果你离线时间太长,并且查询了10个以上的事件/页面浏览量,那么只有前100个事件/页面浏览量会在你在线时真正转到GA,这是一个很好的呼叫。我将致力于添加一个setInverval,以交错的速度循环它们:)另外,需要注意的是,谷歌分析跟踪的不仅仅是简单的事件:比如事件发生的时间,以及其他与会话相关的内容,这些内容在用户返回在线时将消失或脱离上下文。真正的解决方案是生成实际的图像信标代码,并在用户重新联机时嵌入这些图像。。。我会看看是否能想出一个解决方案。考虑到所有这些评论,有人开发了一个功能齐全的离线GA支持库吗?
npm install --save-dev sw-offline-google-analytics
...
importScripts('path/to/offline-google-analytics-import.js');
goog.offlineGoogleAnalytics.initialize();