Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    14

    JS Esecuzione asincrona?

    Salve ragazzi, guardate questo codice js
    <script>
    function stampa(x){
    var obj=document.getElementById(x);
    obj.style.visibility='hidden';
    obj.style.position='absolute';
    window.print();
    obj.style.position='';
    obj.style.visibility='visible';
    }
    </script>

    Ora funzionare funziona.... con ie55 ma con mozilla 14 e 15rc la window.print avviene dopo (sembrerebbe) l'esecuzione di tutto lo script.... è normale????
    come posso aggireare l'ostacolo!?!?!?
    Vanno in galera quelli che hanno sbagliato una sera, mentre è libero, ricco e celebre chi ha ammazzato un'idea

    Enrico Ruggeri

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    In realta` non e` come dici, ma l'apparenza e` quella.

    Quando dai il comando window.print, in realta` passi il controllo ad un daemon del SO, che si prende in carico di procedere con il comando.

    Il fatto e` che tale comando e` lento (tra l'altro dovrebbe anche chiedere il consenso dell'utente), mentre lo script prosegue.

    Non credo sia possibile far fermare lo script, e neppure credo sia possibile sapere quando il comando print() e` stato eseguito fino in fondo per procedere con il resto dello script.
    L'unica cosa che mi viene in mente e` applicare un ritardo:

    function stampa(x){
    var obj=document.getElementById(x);
    obj.style.visibility='hidden';
    obj.style.position='absolute';
    window.print();
    setTimeout('endprint(obj)', 60000);
    }
    function endprint(obj) {
    obj.style.position='';
    obj.style.visibility='visible';
    }

    Non so se un minuto basta (o e` troppo) nel tuo caso per far partire la stampa.

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    14
    Purtroppo con il time out non funge...
    Inoltre il problema deriva tra browser diversi.
    Mi spiego:
    Mozilla alla window print nasconde gli oggetti ma non ridisegna la pagina, quindi attende, ma poi non stampa correttamente.
    IE nasconde e rimostra in breve tempo, quindi se stampato il risultato è quello voluto (come se copiasse la situazione della pagina nello stesso istante in cui si richiama la window print).
    le prove sono avventue ovviamente sulla stessa macchina (anche NN 4x dovrebbe funzionare...)
    Vanno in galera quelli che hanno sbagliato una sera, mentre è libero, ricco e celebre chi ha ammazzato un'idea

    Enrico Ruggeri

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    709
    Non ho mai usato (e neanche visto) Mozzilla, ma il problema non potrebbe dipendere dal fatto che il browser non supporti il metodo "getElementById()"?

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    14
    Lo supporta tranquillamente mozilla deriva dal progetto netscape e netscape 7 deriva da mozilla.
    E infatti gli oggetti li nasconde.
    ma in stampa non ho il risultato voluto.
    Vanno in galera quelli che hanno sbagliato una sera, mentre è libero, ricco e celebre chi ha ammazzato un'idea

    Enrico Ruggeri

  6. #6
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    perchè non carichi un css esterno adatto alla stampa?
    <link rel="styleSheet" type="text/css" media="print" href="print.css">

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    14
    ehm..... in che senso???? che i browser sono in grado di applicare uno style sheet a seconda di cosa fanno????
    Vanno in galera quelli che hanno sbagliato una sera, mentre è libero, ricco e celebre chi ha ammazzato un'idea

    Enrico Ruggeri

  8. #8
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    certamente (parliamo di browser recenti),
    per quanto riguarda la stampa c' è questo articolo su pro.html.it che può tornarti utile,
    a fine articolo il link all' approfondimento su media del www.3c.org
    ciao

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.