Uno de mis clientes me pidio que su web tuviera un popup de una promoción al cargar la web, asi que decidi hacerlo con el colorbox porque me parece esteticamente mas agradable que otros.
Hice una función de carga en el body que dispara el colorbox, que a su vez carga una web que tiene simplemente una imagen. El motivo de que lo haga con una web, es que el cliente en el panel de administración puede definir un link al que llevara la imagen si se clikea encima de ella. Mi problema es que no funciona bien, es decir, funciona perfectamente, a veces ... otras veces no. A veces cargas la web 10 veces y las 10 veces perfecto y de golpe deja de funcionar y al cabo de X refrescos vuelve, etc... y sinceramente ya estoy desesperado y no se que hacer.
Añado capturas del bug asi como el codigo fuente que utilizo para hacerlo.
Cuando lo hace bien:
Cuando lo hace mal:
Codigo fuente de carga del colorbox
Código PHP:
<script language="JavaScript" type="text/javascript">
function openwin3() {
$.colorbox({href:"popup.php"});
}
</script>
<?php
$qnueva="SELECT * FROM tbpopup";
mysql_select_db($dbname);
$rnueva= mysql_query($qnueva);
if($fnueva= mysql_fetch_array($rnueva)){
if($fnueva['activo']=="Si"){
$popup=1;
}
else{
$popup=0;
}
}
if($popup==1){
?>
<body onload="openwin3();calcula('contador')">
<?php } else { ?>
<body onload="calcula('contador')">
<?php } ?>
Y el codigo de la web que lanza (popup.php:
Código PHP:
<?php
include ("admin/config.inc.php");
$qnueva="SELECT * FROM tbpopup";
mysql_select_db($dbname);
$rnueva= mysql_query($qnueva);
if($fnueva= mysql_fetch_array($rnueva)){
$url=$fnueva['url'];
}
echo '<a href="'.$url.'"><img src="admin/images/popup/imagen.jpg" /></a>';
?>