Ayuda con codigo pop-up cada 12 horas por IP

  • Autor Autor joel9449
  • Fecha de inicio Fecha de inicio
J

joel9449

Curioso
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola, un saludo a todos.

Pues verán, estoy enviando trafico a mi web por medio de mi blog, para ello puse un script en mi blog para que salte mi web en una ventana emergente cada que el visitante da click sobre alguna parte del blog, el problema es que lanza el pop-up cada que el visitante da click y eso es muy molesto, por lo que me gustaría que me ayudasen a configurarlo para que el pop-up salga solamente cada 12 horas

Éste es el código:

Insertar CODE, HTML o PHP:
<script language="JavaScript">
<!--

document.onclick = myClickHandler;


function myClickHandler() {
popup('[B]aquí pongo la url de mi web[/B]);

}
-->
</script>


<script type="text/javascript">

function popup(url) 
{
params = 'width='+screen.width;
//params = 'width='+screen.width;
params += ', height='+screen.height;
//params += ', height='+screen.height;
params += ', top=0, left=0'
params += ', fullscreen=yes'
params += ',_parent'
params += ',channelmode=0'
params += ',directories=0'
params += ',location=0'
params += ',menubar=0'
params += ',resizable=0'
params += ',status=0';
newwin=window.open(url,'windowname4', params);
//window.open(url,'Rollassage','width=230,height=226 ,left=50,top=50,channelmode=0,directories=0,fullsc reen=0,location=0,menubar=0,resizable=0,scrollbars =0,status=0');
window.focus();
return false;




}

</script>

Por cierto: ya busque en el foro y en Google pero no encuentro nada al respecto...

¡Ayuda por favor!
 
Tenes que registrar una cookie a cada usuario que se caduque cada 12horas luego de mostrar el popup, y listo.

Es Simple, preguntas si la cookie existe, si no existe mostras el popup y la creas, si existe no mostras el poup :encouragement:
 
una cookie que expire a las 12 horas.. si la cookie no ha expirado.. pop up
 
ahi tienes bro saludos
Insertar CODE, HTML o PHP:
<script language="JavaScript">
<!--

document.onclick = myClickHandler;


function myClickHandler() {
if(rc('mypop')!="1"){
popup('http://google.com');
}
}
-->

function cC(e,t,c){if(c){var n=new Date;n.setTime(n.getTime()+24*c*60*60*1e3);var i="; expires="+n.toGMTString()}else var i="";document.cookie=e+"="+t+i+"; path=/"}function rc(e){return(e=new RegExp("(?:^|;\\s*)"+(""+e).replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")+"=([^;]*)").exec(document.cookie))&&e[1]}
function popup(url) 
{
cC('mypop','1',0.5);
params = 'width='+screen.width;
//params = 'width='+screen.width;
params += ', height='+screen.height;
//params += ', height='+screen.height;
params += ', top=0, left=0'
params += ', fullscreen=yes'
params += ',_parent'
params += ',channelmode=0'
params += ',directories=0'
params += ',location=0'
params += ',menubar=0'
params += ',resizable=0'
params += ',status=0';
//newwin=window.open(url,'windowname4', params);
window.open(url,'Rollassage','width=230,height=226 ,left=50,top=50,channelmode=0,directories=0,fullsc reen=0,location=0,menubar=0,resizable=0,scrollbars =0,status=0');
window.focus();
return false;




}

</script>
 
ahi tienes bro saludos
Insertar CODE, HTML o PHP:
<script language="JavaScript">
<!--

document.onclick = myClickHandler;


function myClickHandler() {
if(rc('mypop')!="1"){
popup('http://google.com');
}
}
-->

function cC(e,t,c){if(c){var n=new Date;n.setTime(n.getTime()+24*c*60*60*1e3);var i="; expires="+n.toGMTString()}else var i="";document.cookie=e+"="+t+i+"; path=/"}function rc(e){return(e=new RegExp("(?:^|;\\s*)"+(""+e).replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")+"=([^;]*)").exec(document.cookie))&&e[1]}
function popup(url)
{
cC('mypop','1',0.5);
params = 'width='+screen.width;
//params = 'width='+screen.width;
params += ', height='+screen.height;
//params += ', height='+screen.height;
params += ', top=0, left=0'
params += ', fullscreen=yes'
params += ',_parent'
params += ',channelmode=0'
params += ',directories=0'
params += ',location=0'
params += ',menubar=0'
params += ',resizable=0'
params += ',status=0';
//newwin=window.open(url,'windowname4', params);
window.open(url,'Rollassage','width=230,height=226 ,left=50,top=50,channelmode=0,directories=0,fullsc reen=0,location=0,menubar=0,resizable=0,scrollbars =0,status=0');
window.focus();
return false;




}

</script>
Intenté utilizar ese codigo en mi pagina wordpress pero no funciona, alguien sabe de uno que esté funcional y que cumpla la misma función?
 
Aqui esta, le puse 30 seg, antes no la podran abrir
 
Última edición:
buenas, te dejo una función que te puede ayudar. La he diseñado de manera que sea fácil de entender y aplicar.
HTML:
<script>
(function() {
    const url = 'https://google.com/';
    const timeData = [
        12,
        'horas',// dias, horas, minutos, segundos
    ];
    const cookieName = 'wop';
    //---------------------->
    const popup = (url) => {
        const params = {
            width: screen.width,
            height: screen.height,
            top: 0,
            left: 0,
            fullscreen: 'yes',
        };
        const paramString = Object.entries(params)
            .map(([key, value]) => `${key}=${value}`)
            .join(',');
        const newwin = window.open(url, 'windowname4', paramString);
        if (newwin) {
            newwin.focus();
        }
        return false;
    };
    const getCookie = name =>(name = (document.cookie + ';').match(new RegExp(name + '=.*;'))) && name[0].split(/=|;/)[1];
    window.addEventListener("click", event=>{
        if(getCookie(cookieName)==="1")return;
        const date = new Date();
        let time = 0;
        switch(timeData[1]){
            case 'dias':
                time = timeData[0] * 24 * 60 * 60 * 1000;
                break;
            case 'horas':
                time = timeData[0] * 60 * 60 * 1000;
                break
            case 'minutos':
                time = timeData[0] * 60 * 1000;
                break
            case 'segundos':
                time = timeData[0] * 1000;
                break
            default:
                time = timeData[0] * 60 * 60 * 1000;
                break
        }
        date.setTime(date.getTime() + time);
        document.cookie = `${cookieName}=1; ${`expires=${date.toUTCString()}`}; path=/`;
        popup(url);
    },false);
}).call(this);
</script>
 
Atrás
Arriba