Pues eso, me gustaría saber como se crean ventanas emergentes controlando el número de muestras, etc
Gracias!
| |||
Respuesta: Ventanas emergentes. Por javascript no hay problema. El 98% de mis usuarios/visitantes lo tiene. Si vacía las cookies, no es vital que solo aparezca 1 veces por usuario/visitante. Si le aparece 2, no nos morimos jejej. Yo lo que estoy buscando es algo para cuando por ejemplo añado una nueva función a mi red social, pues notificar a los usuarios en vez de notificar mediante correo a todos los usuarios o escribiendolo en la pag principal, que se le muestre unavez un pequeño texto. Si alguno no se le puede mostrar, vacia las cookies y sele muesrtra 2, etc no pasa nada mientras que el porcentage sea pequeño. Si es más grande, se deja el sistema y ya está. Saludos desde Sevilla. |
| ||||
Respuesta: Ventanas emergentes. Habría que ver con más detalles y sigo sin saber si tenes o no una base de datos con o un registro de los usuarios. Tenés que tener alguna variable de que agarrarte, yo haría algo asi, que el mensaje se muestre siempre y que tenga un checbox le indique si quiere volver a ver ese mensaje o no, si indica que no, que le deje una cookie (lo ideal sería que quede un registro en una BD) Saludos |
| |||
Respuesta: Ventanas emergentes. deberias crear una cookie cada vez que aparezca una ventana.. en javascript sería algo por el estilo:
Código:
<script language="javascript"> // configura: var popup_url = "http://tusitioweb.com"; var atributos = "width="+screen.width+",height="+screen.height+",scrollbars=1,resizable=1,toolbar=0,location=0,menubar=0,status=0,directories=0"; cookiesent = Get_Cookie('cookiesent'); if(cookiesent != 1){ // cada 4 horas abrira una ventana popup(); Set_Cookie( 'cookiesent', 1, 4); } function popup(){ popup_vfmail = window.open( popup_url, "", atributos) popup_vfmail.blur() //esto esconde el popup (comentar si se quiere visible) window.focus() //esto devuelve el foco a la ventana actual } function Set_Cookie( name, value, expires, path, domain, secure ) { // set time, it's in milliseconds var today = new Date(); today.setTime( today.getTime() ); /* if the expires variable is set, make the correct expires time, the current script below will set it for x number of days, to make it for hours, delete * 24, for minutes, delete * 60 * 24 */ if ( expires ) { expires = expires * 1000 * 60 * 60 * 24; } var expires_date = new Date( today.getTime() + (expires) ); document.cookie = name + "=" +escape( value ) + ( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + ( ( path ) ? ";path=" + path : "" ) + ( ( domain ) ? ";domain=" + domain : "" ) + ( ( secure ) ? ";secure" : "" ); } function Get_Cookie( check_name ) { // first we'll split this cookie up into name/value pairs // note: document.cookie only returns name=value, not the other components var a_all_cookies = document.cookie.split( ';' ); var a_temp_cookie = ''; var cookie_name = ''; var cookie_value = ''; var b_cookie_found = false; // set boolean t/f default f for ( i = 0; i < a_all_cookies.length; i++ ) { // now we'll split apart each name=value pair a_temp_cookie = a_all_cookies[i].split( '=' ); // and trim left/right whitespace while we're at it cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, ''); // if the extracted name matches passed check_name if ( cookie_name == check_name ) { b_cookie_found = true; // we need to handle case where cookie has no value but exists (no = sign, that is): if ( a_temp_cookie.length > 1 ) { cookie_value = unescape( a_temp_cookie[1].replace(/^\s+|\s+$/g, '') ); } // note that in cases where cookie is initialized but no value, null is returned return cookie_value; break; } a_temp_cookie = null; cookie_name = ''; } if ( !b_cookie_found ) { return null; } } </script> |
| |||
lograr lo mismo pero con ventana de alerta ( no popup ) Cita: Hola me e roto la cabeza buscando por horas en google y no hallo la solucion
Iniciado por pptavo deberias crear una cookie cada vez que aparezca una ventana.. en javascript sería algo por el estilo:
Código:
<script language="javascript"> // configura: var popup_url = "http://tusitioweb.com"; var atributos = "width="+screen.width+",height="+screen.height+",scrollbars=1,resizable=1,toolbar=0,location=0,menubar=0,status=0,directories=0"; cookiesent = Get_Cookie('cookiesent'); if(cookiesent != 1){ // cada 4 horas abrira una ventana popup(); Set_Cookie( 'cookiesent', 1, 4); } function popup(){ popup_vfmail = window.open( popup_url, "", atributos) popup_vfmail.blur() //esto esconde el popup (comentar si se quiere visible) window.focus() //esto devuelve el foco a la ventana actual } function Set_Cookie( name, value, expires, path, domain, secure ) { // set time, it's in milliseconds var today = new Date(); today.setTime( today.getTime() ); /* if the expires variable is set, make the correct expires time, the current script below will set it for x number of days, to make it for hours, delete * 24, for minutes, delete * 60 * 24 */ if ( expires ) { expires = expires * 1000 * 60 * 60 * 24; } var expires_date = new Date( today.getTime() + (expires) ); document.cookie = name + "=" +escape( value ) + ( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + ( ( path ) ? ";path=" + path : "" ) + ( ( domain ) ? ";domain=" + domain : "" ) + ( ( secure ) ? ";secure" : "" ); } function Get_Cookie( check_name ) { // first we'll split this cookie up into name/value pairs // note: document.cookie only returns name=value, not the other components var a_all_cookies = document.cookie.split( ';' ); var a_temp_cookie = ''; var cookie_name = ''; var cookie_value = ''; var b_cookie_found = false; // set boolean t/f default f for ( i = 0; i < a_all_cookies.length; i++ ) { // now we'll split apart each name=value pair a_temp_cookie = a_all_cookies[i].split( '=' ); // and trim left/right whitespace while we're at it cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, ''); // if the extracted name matches passed check_name if ( cookie_name == check_name ) { b_cookie_found = true; // we need to handle case where cookie has no value but exists (no = sign, that is): if ( a_temp_cookie.length > 1 ) { cookie_value = unescape( a_temp_cookie[1].replace(/^\s+|\s+$/g, '') ); } // note that in cases where cookie is initialized but no value, null is returned return cookie_value; break; } a_temp_cookie = null; cookie_name = ''; } if ( !b_cookie_found ) { return null; } } </script> yo deseo colocar una ventana de alerta que se muestre una unica vez al visitante y no a cada rato que el regrese a esa seccion, se que es con javacript y cookies como aqui puedo apreciar, pero no he hallado la forma de adaptarlo a lo que deseo, mi codigo orginal es este : mi primera opcion: <script type="text/javascript"> <!-- var answer = confirm ("ADVERTENCIA: Haga clic en ACEPTAR para entrar, o clic en CANCELAR para salir.") if (!answer) window.location="http://www.google.com" //--> </script> mi segunda opcion opcion: <script> <!-- function checkAGE() { if (!confirm ("ADVERTENCIA: Haga clic en ACEPTAR para entrar, o clic en CANCELAR para salir")) history.go(-1);return " "} document.writeln(checkAGE()) // --> </script> luego intente esto, pero no me funciono, es que no se como llamar a la ventanita alerta: <SCRIPT LANGUAGE="JavaScript"> <!-- Begin var expDays = 1; var answer = confirm ("ADVERTENCIA: Haga clic en ACEPTAR para entrar, o clic en CANCELAR para salir.") if (!answer) window.location="http://www.google.com" function GetCookie (name) { var arg = name + "="; var alen = arg.length; var clen = document.cookie.length; var i = 0; while (i < clen) { var j = i + alen; if (document.cookie.substring(i, j) == arg) return getCookieVal (j); i = document.cookie.indexOf(" ", i) + 1; if (i == 0) break; } return null; } function SetCookie (name, value) { var argv = SetCookie.arguments; var argc = SetCookie.arguments.length; var expires = (argc > 2) ? argv[2] : null; var path = (argc > 3) ? argv[3] : null; var domain = (argc > 4) ? argv[4] : null; var secure = (argc > 5) ? argv[5] : false; document.cookie = name + "=" + escape (value) + ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + ((path == null) ? "" : ("; path=" + path)) + ((domain == null) ? "" : ("; domain=" + domain)) + ((secure == true) ? "; secure" : ""); } function DeleteCookie (name) { var exp = new Date(); exp.setTime (exp.getTime() - 1); var cval = GetCookie (name); document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString(); } var exp = new Date(); exp.setTime(exp.getTime() + (expDays*24*60*60*1000)); function amt(){ var count = GetCookie('count') if(count == null) { SetCookie('count','1') return 1 } else { var newcount = parseInt(count) + 1; DeleteCookie('count') SetCookie('count',newcount,exp) return count } } function getCookieVal(offset) { var endstr = document.cookie.indexOf (";", offset); if (endstr == -1) endstr = document.cookie.length; return unescape(document.cookie.substring(offset, endstr)); } function checkCount() { var count = GetCookie('count'); if (count == null) { count=1; SetCookie('count', count, exp); window.open(answer); } else { count++; SetCookie('count', count, exp); } } // End --> </script> tambien se me ocurrio que siguiendo mi opcion 2, hacer que en lugar de poner window.open(answer); tratar de llamar a la otra funcion, pero igual nada de nada, ya me canse de intentar y sin resultados, podria alguien ayudarme y decirme cual seria el script correcto para lograr lo que deseo. por ahi halle un script que dice es usando PHP session pero en mi caso no tengo BD como para iniciar session, asi que esa opcion no creo me sirva. espero su ayuda Jose Luis |
Etiquetas: |