相关疑难解决方法(0)

Google Analytics上是否设置了禁止对尚未同意的用户使用Cookie的设置

根据欧盟电子隐私指令第5条第(3)款(又名"Cookie法"),针对欧盟用户的网站必须在用户设置cookie之前获得用户的选择同意.

ICO指南

我试图在我的网站上使用Google Analytics.

我认为Google Analytics(GA)可以在不需要使用cookie的情况下进行某种级别的分析数据收集.

但是,我在页面请求期间找不到有关如何将有关"同意状态"的信息传回Google的相关信息(在Google网站/设置面板上).所以,我唯一的选择似乎是我不应该嵌入谷歌标记代码在所有,如果用户没有明确给出同意.这看起来有点激烈.

让我的服务器端脚本hasConsentedToCookies=FALSE在JavaScript标记中设置一个标志将允许我指示Google的服务以优雅降级的方式运行.

Google Analytics上是否设置了禁止对尚未同意的用户使用Cookie的设置?

如果是这样,我在哪里可以找到相关信息?

javascript cookies google-analytics

154
推荐指数
5
解决办法
5万
查看次数

是否可以在JavaScript中模拟document.cookie?

document.cookie就像一个字符串,但它不是一个字符串.引用Mozilla文档中的示例:

document.cookie = "name=oeschger";
document.cookie = "favorite_food=tripe";
alert(document.cookie);
// displays: name=oeschger;favorite_food=tripe
Run Code Online (Sandbox Code Playgroud)

如果您尝试仅使用字符串制作模拟cookie,则不会得到相同的结果:

var mockCookie = "";
mockCookie = "name=oeschger";
mockCookie = "favorite_food=tripe";
alert(mockCookie);
// displays: favorite_food=tripe
Run Code Online (Sandbox Code Playgroud)

所以,如果你想对运行在cookie上的模块进行单元测试,并且你想为这些测试使用模拟cookie,你呢?怎么样?

javascript unit-testing

23
推荐指数
5
解决办法
2万
查看次数

如何配置我的Google Analytics(分析)帐户以接受来自file:// urls的请求?

我正在尝试使用我的PhoneGap/Cordova应用程序进行谷歌分析.

默认情况下,analytics.js lib不会从file:// type urls发送请求.我发现从这个站点,以及它指出的StackOverflow问题,我可以通过配置GA来使分析库使用本地存储而不是cookie来跟踪客户端ID:

(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','http://www.google-analytics.com/analytics.js','ga');

ga('create', 'UA-XXXXX-1', 'auto', {
        'allowLinker': true,
        'storage': 'none','clientId':localStorage.getItem('gaClientId')
    });
ga(function(t){localStorage.setItem('gaClientId',t.get('clientId'));});
Run Code Online (Sandbox Code Playgroud)

然后我可以通过添加以下内容让库从非http/https网址发送请求:

ga('set', 'checkProtocolTask', null);
Run Code Online (Sandbox Code Playgroud)

现在,我可以从浏览器控制台看到该库正在向google-analytics.com发送页面视图,类似于以下内容:

http://www.google-analytics.com/collect?v=1&_v=j31&a=6458293880&t=pageview&_s=1&dl=file%3A%2F%2F%2Fpath%2Fto%2Findex.html&ul=en-us&de=ISO-8859-1&sd=24-bit&sr=1440x900&vp=1283x150&je=1&fl=16.0%20r0&_u=cGAAAAQB~&cid=389492833.14589283847&tid=UA-XXXXX-1&z=1277371227
Run Code Online (Sandbox Code Playgroud)

但是,在google-analytics.com方面,Google一旦收到请求就会忽略该请求,并且我的帐户中没有任何内容显示.如果我手动将上述网址的"dl = file ..."部分更改为"dl = http ...",那么Google会接受它,我会立即在我帐户的"实时"标签下看到该请求.

所以,似乎我已经正确设置了浏览器方面,但......

  1. 如何配置我的Google分析帐户以接受浏览器发送的请求?
  2. 或者,有没有办法配置浏览器端的东西,以便它发送"dl = http:// ..."而不是"dl = file:// ...",即使它来自一个文件: //网址?

(如果我不得不选择一个答案,我想我可能更喜欢对#2而不是#1的答案.)

我知道有一个用于谷歌分析cordova插件,但我没有太多运气让这个工作,并且,即使我让它工作,我需要我的应用程序能够登录到多个谷歌分析帐户,我不认为该插件可以做.

google-analytics cordova

1
推荐指数
1
解决办法
699
查看次数