Os cuento, tengo una aplicación con un loguin y varios submit que llevan a diferentes paginas, está hecho de la siguiente forma:
Cuando se pulsa un submit se llama a una funcion ajax que llama a una php que por medio de curl y pasandole post copia la web destino y la muestra con un echo que recoge ajax en su responsetext mostrandola con un document.write(ajax.responseText); en la página origen.
Estas webs copiadas son php dinamicos que muestran otros ajax al cargarse.
En todos los navegadores funciona perfectamente pero en ie9 no carga los javascript que hay en la página copiada con curl. Muestra un error de funcion desconocida.
FUNCION AJAX
Código Javascript :
function redirigir(id,tipo,lugar,pass,estilo) { url=urldestino; codigo= RecorrerFormloguin('login'); codigo+= "&action=redirigir&codigocliente="+id+"&tipo="+tipo+"&lugar="+lugar+"&password="+pass+"&estilo="+estilo; texto=''; ajax = nuevoAjax(); ajax.open("POST", url, true); ajax.onreadystatechange=function() { if (ajax.readyState==1) { document.getElementById('loguin-central').innerHTML='<img id="loader" src="imagen/ajax-loader.gif"/>'; } if (ajax.readyState==4) { document.write(ajax.responseText); } } ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); ajax.send(codigo); }
FUNCION EN PHP (es un case del switch de secciones, son todos iguales)
Código PHP :
case 'panel': $params= "estilo=".$post['estilo']."&"; $params .= "codigocliente=".$post['codigocliente']."&"; $params .= 'random='.$random."&"; $clave= sha1($random.$post['codigocliente'].$security); $params .= 'clave='.$clave; $ch = curl_init() or die ( curl_error() ); curl_setopt($ch, CURLOPT_URL, $url.'admin/admin.php'); curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 ); curl_setopt ($ch, CURLOPT_POST, 1); curl_setopt ($ch, CURLOPT_POSTFIELDS, $params); echo curl_exec ($ch); curl_close ($ch); break;
Lo he descartado casi todo, parece un error intrinseco de internet explorer, a ver si podeis echarme un cable, gracias de antemano.