Lo que quiero realizar no se si es posible, y es que a través de una llamada con Xajax al servidor me pinte entre otras cosas un banner publicitario (en este caso de ImpresionesWeb, aunque he probado también con TradeDoubler).
Lo vemos más fácil en un ejemplo:
Código PHP:
function cargaEstadisticas($jor,$IDcompeticion,$capaDestino) {
$respuesta = new xajaxResponse();
$salida = estadisticas($jor,$IDcompeticion);
$publicidadIW =
'<div id="publicidadIW468x60" style="margin-top:10px">CAPA IMPRESIONESWEB - A continuacion deberia ir Banner 468x60:<br>
<script language="javascript" type="text/javascript">
iw_ad_ancho=468;
iw_ad_alto=60;
iw_ad_formato="ad_468x60";
iw_ad_cad="xxxxxxxxxxxxxxxxxxxx";
iwsrcplus="code.impresionesweb.com/r/banner_iw.php?idrotador=xxxyyy&tamano=468x60&lgid="+((new Date()).getTime() % 2147483648) + Math.random();
document.write("<scr"+"ipt language=javascript type=text/javascript src=\""+iwsrcplus+"\"></scr"+"ipt>");
</script>
<noscript><iframe src="alt.impresionesweb.com/noscript.php?tam=468x60&idp=xxxyyy&ref=zzzyyy&cod=xxxyyy" width="468" height="60" frameborder="0" marginheight="0" marginwidth="0" scrolling="no"></iframe></noscript>
</div>';
$respuesta->assign($capaDestino,"innerHTML",$salida.$publicidadIW);
return $respuesta;
}
Imagino que lo que está pasando es que la respuesta sólo pinta lo que hay entre los <script> y </script>, pero no ejecuta su contenido.
He probado también a llamar a ese trozo de Javascript usando la función xajax script(), pero esto me saca el banner en una nueva ventana en blanco, y el navegador se queda leyendo indefinidamente.
También hay que tener en cuenta que hay que andar con cuidado ya que está terminantemente prohibido modificar los códigos publicitarios, y no se hasta que punto se pueden realizar pruebas.
A ver si alguien me ofrece alguna pista. Un saludo