Foros del Web » Creando para Internet » HTML »

Ventanas emergentes.

Estas en el tema de Ventanas emergentes. en el foro de HTML en Foros del Web. Pues eso, me gustaría saber como se crean ventanas emergentes controlando el número de muestras, etc Gracias!...
  #1 (permalink)  
Antiguo 13/07/2010, 09:27
 
Fecha de Ingreso: julio-2010
Mensajes: 84
Antigüedad: 13 años, 8 meses
Puntos: 0
Ventanas emergentes.

Pues eso, me gustaría saber como se crean ventanas emergentes controlando el número de muestras, etc

Gracias!
  #2 (permalink)  
Antiguo 13/07/2010, 09:33
 
Fecha de Ingreso: junio-2010
Mensajes: 51
Antigüedad: 13 años, 9 meses
Puntos: 1
Respuesta: Ventanas emergentes.

a que te refieres con número de muestras???
  #3 (permalink)  
Antiguo 13/07/2010, 09:37
 
Fecha de Ingreso: julio-2010
Mensajes: 84
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Ventanas emergentes.

Que no aparezca siempre, solo 2 o 3 veces por usuario y día o una sola vez... Creo que ya me entiendes ¿no?
  #4 (permalink)  
Antiguo 13/07/2010, 11:01
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: Ventanas emergentes.

No es tan facil lo que quieres hacer porque siempre vas a estar expuesto a factores que no dependen de ti, como la habilitación de javascript por parte del usuario, o que el mismo vacié la cache del navegador y las cookies.
Cuando hablas de usuarios, no sé si te refieres a visitas a la página o a usuarios que deben loguearse, si es esto último, trabajar con sesiones y un contador interno almacenado en una base de datos puede ser una solución.
Por supuesto, si no es tan riguroso el sistema que necesitas, con javascript y ccokies lo puedes hacer.


Saludos
  #5 (permalink)  
Antiguo 13/07/2010, 14:30
 
Fecha de Ingreso: julio-2010
Mensajes: 84
Antigüedad: 13 años, 8 meses
Puntos: 0
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.
  #6 (permalink)  
Antiguo 13/07/2010, 17:08
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
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
  #7 (permalink)  
Antiguo 14/07/2010, 00:13
 
Fecha de Ingreso: julio-2010
Mensajes: 14
Antigüedad: 13 años, 8 meses
Puntos: 0
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>
  #8 (permalink)  
Antiguo 20/08/2010, 03:07
 
Fecha de Ingreso: octubre-2008
Mensajes: 8
Antigüedad: 15 años, 5 meses
Puntos: 0
lograr lo mismo pero con ventana de alerta ( no popup )

Cita:
Iniciado por pptavo Ver Mensaje
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>
Hola me e roto la cabeza buscando por horas en google y no hallo la solucion

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: emergentes, ventanas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:26.