 
			
				04/03/2009, 17:47
			
			
			     |  
      |    |    |    Fecha de Ingreso: febrero-2009  
						Mensajes: 16
					  Antigüedad: 16 años, 8 meses Puntos: 0     |        |  
  |      Respuesta: Al no loguear como devolver el foco...?        Hola de nuevo. No hay manera. Os envio el código entero a ver si me echáis una mano...       
<script language="javascript">   
        var tagScript = '(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)'; 
        /** 
        * Eval script fragment 
        * @return String 
        */ 
        String.prototype.evalScript = function() 
        { 
                return (this.match(new RegExp(tagScript, 'img')) || []).evalScript(); 
        }; 
        /** 
        * strip script fragment 
        * @return String 
        */ 
        String.prototype.stripScript = function() 
        { 
                return this.replace(new RegExp(tagScript, 'img'), ''); 
        }; 
        /** 
        * extract script fragment 
        * @return String 
        */ 
        String.prototype.extractScript = function() 
        { 
                var matchAll = new RegExp(tagScript, 'img'); 
                return (this.match(matchAll) || []); 
        }; 
        /** 
        * Eval scripts 
        * @return String 
        */ 
        Array.prototype.evalScript = function(extracted) 
        { 
                var s=this.map(function(sr){ 
                         var sc=(sr.match(new RegExp(tagScript, 'im')) || ['', ''])[1]; 
                         if(window.execScript){ 
                              window.execScript(sc); 
                         } 
                        else 
                       { 
                           window.setTimeout(sc,0); 
                        } 
                }); 
                return true; 
        }; 
        /** 
        * Map array elements 
        * @param {Function} fun 
        * @return Function 
        */ 
        Array.prototype.map = function(fun) 
        { 
                if(typeof fun!=="function"){return false;} 
                var i = 0, l = this.length; 
                for(i=0;i<l;i++) 
                { 
                        fun(this[i]); 
                } 
                return true; 
        };       
    var peticion = false; 
    try { 
          peticion = new XMLHttpRequest(); 
    } catch (trymicrosoft) { 
          try { 
                peticion = new ActiveXObject("Msxml2.XMLHTTP"); 
    } catch (othermicrosoft) { 
          try { 
               peticion = new ActiveXObject("Microsoft.XMLHTTP"); 
   } catch (failed) { 
               peticion = false; 
   } 
   } 
   }   
   if (!peticion) alert("Error al inicializar!"); 
   function cargarFragmento(fragment_url, element_id) { 
         var element = document.getElementById(element_id); 
         element.innerHTML = '<p><img src="Imagenes/ajax_loading.gif" /></p>'; 
         peticion.open("GET", fragment_url); 
         peticion.onreadystatechange = function() { 
         if (peticion.readyState == 4 && peticion.status==200) { 
               element.innerHTML = peticion.responseText; 
   		 } 
   		 } 
        var scs=peticion.responseText.extractScript();    //capturamos los scripts 
        element_id.innerHTML=peticion.responseText.stripSc  ript();    //eliminamos los scripts... ya son innecesarios 
        scs.evalScript();       //ahora si, comenzamos a interpretar todo   
        peticion.send(null); 
   }     
</script>       
En cuanto a peticion.php es   
<?php 
	echo "prueba del algodón..."; 
	echo "<script type='text/javascript'>alert('algo');</script>"; 
?>     
He intentado cambiar las tres líneas (que interpretan los scripts) de posición pero no hay forma. Entiendo que van antes de peticion.send(null)..., pero no lo sé exactamente.   
Un saludo.           |