Ver Mensaje Individual
  #3 (permalink)  
Antiguo 05/10/2007, 19:17
Avatar de derkenuke
derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Re: como controlar la ejecucion...

Tema complicado zyon, tema complicado.

Quizás con algún truco tipo...

Código PHP:
// escribir en el documento una ristra (x)html fuera de tiempo de ejecución.
function e(q,sinBR) {
    var 
elDIV document.createElement("DIV");
    if(
q==undefinedq="";
    if(!
sinBRq+="<br/>";
    
elDIV.innerHTML q;
    for(var 
a=0elDIV.childNodes.length>aa++) {
        
document.body.appendChildelDIV.childNodes[a].cloneNode(true) );
    }
}

var 
finDeTardona falsecomprobador;
function 
tardona() {
    
e("Entro en tardona");
    
// .... cosas que tardan
    // el setTimeout es sólo para simular que la ejecución de tardona() tarda 5 sgs
    
setTimeout( function() {
        
finDeTardona true;
        
e("finDeTardona = true");
    } , 
5000);
}

function 
segundona() {
    
e("Entro en segundona!");
}

function 
principal() {
    
tardona();
    
// Sólo y sólo cuando acabe tardona (finDeTardona = true) ejecutaremos la segundona
    // Comprobaremos si finDeTardona = true cada medio segundo, para ver si podemos lanzar la segundona
    
comprobador setInterval( function() {
        
e("Comprobando: finDeTardona es "+finDeTardona);
        if( 
finDeTardona == true ) {
            
finDeTardona false;            // reestablecemos
            
clearTimeoutcomprobador );    // paramos de comprobar
            
segundona();
        }
    }, 
500);
}

window.onload principal
Claro, que se podría hacer de una manera más global para llamar a cualquier función después de ejecutarla... pero supongo que llevaría más tiempo y más mente abstracta para implementarlo, depende cuales sean tus necesidades finales.


Un saludo.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.