Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    833

    Forzare emissione pagina prima di fare script

    Ciao a tutti, volevo chiedervi se esiste la possibilita' di emettere una pagina prima che questa effettui degli script che finiti la chiuderanno?

    Mi spiego un po meglio, ho una popup che viene chiamata per spedire degli oggetti su un altro server. Ora io in questa popup ho messo la solita gif animata con l'attesa.
    Solo che giustamente la pagina deve eseguire tutte le istruzioni prima di essere emessa.
    Ora per non sapere ne leggere ne scrivere vi chiedo esiste un modo per "forzare"
    la scrittura della pagina e poi eseguire degli script?

    Posto il codice per capirci un po meglio


    codice:
    <html>
    <head>
    <title></title>
    
    </head>
    
    
    <body background="IMG/change.jpg">
    
    
    
     
    <div id="caricamento"> 
    	<p align="center"> [img]caricamento.gif[/img]
    	<font size="2">Wait</font></div>
    
    </body>
    
    <?php 
    include("connection.inc");
    session_start();
    
    $val = $_POST['scelta_multipla'];
    $_SESSION['val'] = $val;
    
    $rolelkn = $_SESSION["rolelkn"];
    if ($rolelkn!="SOURCE") {
    print '<script> alert("Option not allowed on target system.") </script>';
    print '<script>window.opener.document.modulo.target=(_self);</script>';
    print '<script>self.close();</script>';
    }
    
    elseif ($val==""){
    print '<script> alert("Select objects") </script>';
    print '<script>window.opener.document.modulo.target=(_self);</script>';
    print '<script>self.close();</script>';
    }   
    
    
    if (($rolelkn=="SOURCE") && ($val!="")){
    
    $val = $_POST['scelta_multipla'];
    $_SESSION['val'] = $val;
    $val = $_SESSION['val']; 
    
    foreach ($val as $val)   
    {   
    list ($lib, $obj, $typ, $status, $LNKLIB)= split ('[|]', $val);
    
    if ($typ=='*pf'){
    $typ='*FILE';
    }   
    if ($typ=='*lf'){
    $typ='*FILE';
    }   
    if ($typ=='*dtaq'){
    $typ='*DTAQ';
    }   
    if ($typ=='*dtaara'){
    $typ='*DTAARA';
    }   
    
    
    
    if($status=="*PND"){
    
    $_SESSION['lnklib'] = $LNKLIB;
    $_SESSION['lib'] = $lib;
    $_SESSION['obj'] = $obj;
    $_SESSION['typ'] = $typ;
    
    /* Apertura connessione al server */
    
    /* Errore durante la connessione al server */
    if (!$conn) die("
    1 connessione".i5_errno()." msg=".i5_errormsg()); 
    
    /* Definizione parametri da passare al programma */
    $description = array(
    array("Name"=>"lnklib", "IO"=>I5_IN, "Type"=>I5_TYPE_CHAR, "Length"=>"10"),
    array("Name"=>"lib", "IO"=>I5_IN, "Type"=>I5_TYPE_CHAR, "Length"=>"10"),
    array("Name"=>"obj", "IO"=>I5_IN, "Type"=>I5_TYPE_CHAR, "Length"=>"10"),
    array("Name"=>"typ", "IO"=>I5_IN, "Type"=>I5_TYPE_CHAR, "Length"=>"10"),
    
    );
    		
    /* Apertura programma con la definizione dei parametri */	
    $pgm = i5_program_prepare("VAM400/HSTL01W" , $description);
    
    /* Errore apertura programma */
    if (!$pgm) die("
    2 error. =".i5_errno()." msg=".i5_errormsg());
    
    /* Impostazione parametri di input con le variabili passate dal chiamante con il metodo POST */
    $parmIn = array(
    	"LNKLIB"=>$_SESSION["lnklib"],
    	"LIB"=>$_SESSION["lib"],
    	"OBJ"=>$_SESSION["obj"],
    	"TYP"=>$_SESSION["typ"],
    		);
    
    /* Richiamo programma */		
    $ret = i5_program_call($pgm, $parmIn);
    
    /* Errore richiamo programma */
    if (!$ret) die("
    call error. Error number=".i5_errno()." msg=".i5_errormsg());
    
    
    /* Fine foreach */
    
    }
    }   
    print '<script>window.opener.document.modulo.target=(_self);</script>';
    print '<script>self.close();</script>';
    }
    ?>
    
    </html>

    Ciao grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    833
    Uppetto, so che non c'e' soluzione, ma la speranza...

  3. #3
    Siccome la domanda non è molto chiara provo ad andare ad intuito.
    Se intendi chiedere se è possibile che uno script (javascript? php?) venga eseguito solo alla fine dell'intero caricamento della pagina la risposta è sì.
    Ti basta associare all'evento window.onload una funzione che contenga le istruzioni da eseguire.
    Sempre che si stia parlando di Javascript contenuto in una pagina HTML dinamicamente generata da PHP.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.