Hola Ancoreig,
al final conseguí solucionar el tema, un amigo programador me ayudó. Parecía que el código de Google Analytics, al estar dentro de una función, tal cual la creé, no devolvía nada.
Yo no he usado la API de maxmind, no sé porqué, pero me da algo de mal rollo que haya una web que desconozco que compruebe cada conexión a mi web. Así que modifiqué un poco el código para que no compruebe si se conectan desde España. De esta forma, todo el mundo que se conecta ve la barra.
Os pego el código, para que si alguien quiere utilizarlo, lo haga. En mi caso, para cumplir con el consentimiento tácito de la legislación española, he añadido un temporizador que espera 10000ms, o lo que se quiera poner, en cargar la cookie de la barrita y las de Google Analytics. De esta forma, da tiempo al usuario a decidir si salirse de la web sin habérsele instalado las cookies. He modificado el código para que pinchando sobre el OK de la barra, sólo la cierre, porque la instalación de las cookies ya va temporizada.
Según he leído en algunos foros, parece que muchas webs que ponen barra de aviso, no cumplen esto. Es decir, que avisan pero desde el segundo cero ya te instalan las cookies. Esto por lo tanto, no cumple la legislación.
ah! para las empresas que tengan Blogger/Blogspot, esta platafoma de Google permite insertar un Gadget que contenga javascript, con lo que puedes poner la barrita de aviso. Eso sí, en este caso, no tienes control sobre las cookies del blog. Aunque almenos ya avisas... No me enrollo más y os pego el código. Gracias al foro por el código original, me ha sido de gran ayuda.
<div id="barracookie" style="display:none;position:fixed;left:0px;right:0px; top:0px;width:100%;min-height:40px;background: #333333;color:#dddddd;z-index: 99999;">
<div style="width:100%;position:absolute;padding-left:5px;font-family:verdana;font-size:12px;top:30%;">
Usamos cookies propias y de terceros para mejorar la experiencia de navegación. Si continua navegando consideramos que acepta el uso de cookies.
<a href="javascript:void(0);" style="padding:4px;background:#4682B4;text-decoration:none;color:#fff;" onclick="CerrarBarra();"><b>OK</b></a>
<a href="http://www.google.com/intl/es-419/policies/technologies/types/" target="_blank" style="padding-left:5px;text-decoration:none;color:#ffffff;">Más información</a>
</div>
</div>
<script>
setTimeout ("PonerCookie()", 10000);
setTimeout ("CallGoogleAnalytics()", 10000);
</script>
<!-- EJEMPLO MENSAJE COOKIES -->
<script>
function getCookie(c_name){
var c_value = document.cookie;
var c_start = c_value.indexOf(" " + c_name + "=");
if (c_start == -1){
c_start = c_value.indexOf(c_name + "=");
}
if (c_start == -1){
c_value = null;
}else{
c_start = c_value.indexOf("=", c_start) + 1;
var c_end = c_value.indexOf(";", c_start);
if (c_end == -1){
c_end = c_value.length;
}
c_value = unescape(c_value.substring(c_start,c_end));
}
return c_value;
}
function setCookie(c_name,value,exdays){
var exdate=new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;
}
if(getCookie('aviso')!="1"){
document.getElementById("barracookie").style.display="block";
}
function PonerCookie(){
setCookie('aviso','1',365);
}
function CerrarBarra(){
document.getElementById("barracookie").style.display="none";
}
function CallGoogleAnalytics(){
var s = document.createElement('script');
s.type = 'text/javascript';
var code = "var _gaq = _gaq || [];"
+ "_gaq.push(['_setAccount', 'UA-99999999-9']);" <!-- Código Google Analytics inventado. Poned el que obtengáis del registro en Google Analytics -->
+ "_gaq.push(['_trackPageview']);"
+ "var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;"
+ "ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';"
+ "var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);";
s.appendChild(document.createTextNode(code));
document.head.appendChild(s);
}
</script>
- - - Actualizado - - -
Por cierto, re-leyendo el foro, este mensaje sale arriba de la página, y no abajo como era el original, y se coloca dentro del HEAD.
(3 Apr, 2014, 6:50 am)AlbertodeG escribió: Hola Ancoreig,
al final conseguí solucionar el tema, un amigo programador me ayudó. Parecía que el código de Google Analytics, al estar dentro de una función, tal cual la creé, no devolvía nada.
Yo no he usado la API de maxmind, no sé porqué, pero me da algo de mal rollo que haya una web que desconozco que compruebe cada conexión a mi web. Así que modifiqué un poco el código para que no compruebe si se conectan desde España. De esta forma, todo el mundo que se conecta ve la barra.
Os pego el código, para que si alguien quiere utilizarlo, lo haga. En mi caso, para cumplir con el consentimiento tácito de la legislación española, he añadido un temporizador que espera 10000ms, o lo que se quiera poner, en cargar la cookie de la barrita y las de Google Analytics. De esta forma, da tiempo al usuario a decidir si salirse de la web sin habérsele instalado las cookies. He modificado el código para que pinchando sobre el OK de la barra, sólo la cierre, porque la instalación de las cookies ya va temporizada.
Según he leído en algunos foros, parece que muchas webs que ponen barra de aviso, no cumplen esto. Es decir, que avisan pero desde el segundo cero ya te instalan las cookies. Esto por lo tanto, no cumple la legislación.
ah! para las empresas que tengan Blogger/Blogspot, esta platafoma de Google permite insertar un Gadget que contenga javascript, con lo que puedes poner la barrita de aviso. Eso sí, en este caso, no tienes control sobre las cookies del blog. Aunque almenos ya avisas... No me enrollo más y os pego el código. Gracias al foro por el código original, me ha sido de gran ayuda.
<div id="barracookie" style="display:none;position:fixed;left:0px;right:0px; top:0px;width:100%;min-height:40px;background: #333333;color:#dddddd;z-index: 99999;">
<div style="width:100%;position:absolute;padding-left:5px;font-family:verdana;font-size:12px;top:30%;">
Usamos cookies propias y de terceros para mejorar la experiencia de navegación. Si continua navegando consideramos que acepta el uso de cookies.
<a href="javascript:void(0);" style="padding:4px;background:#4682B4;text-decoration:none;color:#fff;" onclick="CerrarBarra();"><b>OK</b></a>
<a href="http://www.google.com/intl/es-419/policies/technologies/types/" target="_blank" style="padding-left:5px;text-decoration:none;color:#ffffff;">Más información</a>
</div>
</div>
<script>
setTimeout ("PonerCookie()", 10000);
setTimeout ("CallGoogleAnalytics()", 10000);
</script>
<!-- EJEMPLO MENSAJE COOKIES -->
<script>
function getCookie(c_name){
var c_value = document.cookie;
var c_start = c_value.indexOf(" " + c_name + "=");
if (c_start == -1){
c_start = c_value.indexOf(c_name + "=");
}
if (c_start == -1){
c_value = null;
}else{
c_start = c_value.indexOf("=", c_start) + 1;
var c_end = c_value.indexOf(";", c_start);
if (c_end == -1){
c_end = c_value.length;
}
c_value = unescape(c_value.substring(c_start,c_end));
}
return c_value;
}
function setCookie(c_name,value,exdays){
var exdate=new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;
}
if(getCookie('aviso')!="1"){
document.getElementById("barracookie").style.display="block";
}
function PonerCookie(){
setCookie('aviso','1',365);
}
function CerrarBarra(){
document.getElementById("barracookie").style.display="none";
}
function CallGoogleAnalytics(){
var s = document.createElement('script');
s.type = 'text/javascript';
var code = "var _gaq = _gaq || [];"
+ "_gaq.push(['_setAccount', 'UA-99999999-9']);" <!-- Código Google Analytics inventado. Poned el que obtengáis del registro en Google Analytics -->
+ "_gaq.push(['_trackPageview']);"
+ "var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;"
+ "ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';"
+ "var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);";
s.appendChild(document.createTextNode(code));
document.head.appendChild(s);
}
</script>