Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    493

    precaricare js prima della pagina

    ciao a tutti,

    vorrei sapere se è possibile far precaricare dei file js prima che il contenuto della pagina venga mostrato.

    ho una galleria fotografica con lightbox e se clicco su una foto prima che tutta la pagina sia stata caricata non si avvia lo script e si apre la foto in una altra pagina.
    in questo modo devono sempre ricaricare la pagina cliccando indietro sul browser e non riescono a visualizzare le foto comodamente.

    questi sono i file inclusi nell head che vorrei venissero caricati prima di mostrare la galleria
    codice:
    <script src="lightbox/js/prototype.js" type="text/javascript"></script>
    <script src="lightbox/js/scriptaculous.js?load=effects" type="text/javascript"></script>
    <script src="lightbox/js/lightbox.js" type="text/javascript"></script>
    grazie

  2. #2
    Potresti mettere un div che mostra il caricament della pagina sopra a tutto e togliero quando la pagina si è caricata... magari ottieni lo stesso effetto,quello di impedire che l'utente clicchi sull'immagine prima del completo caricamento della pagina.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    493
    potresti descrivermi come si fa?
    scusami ma non sono esperto
    grazie

  4. #4
    Il codice che ti posto è un esempio molto rozzo ne trovo di meglio in giro....
    Esprimo solo il concetto generale che potresti usare,una delle vie...

    Codice PHP:
    <html>
      <
    head>         
         <
    title>Simulazione caricamento</title>
         <
    style
           
    body 
          
    {     
             
    background:silver
          }
         
    #caricamento
         
    {
            
    height:120px;
            
    width:400px;
            
    font-size:30px;
            
    background:red;
         }
         </
    style>
         <
    script>
            function 
    toglicaricamento()
            {
               
    document.getElementById("contenitore").style.display "none"
        }     
        
    setTimeout("toglicaricamento()",3000);     
        
    </script> 
      </head> 
      <body> 
      <div  align="center" id="contenitore"><div id="caricamento">
        STO CARICANDO
      </div></div> 
      </body>
    </html> 
    Spiegando un po il codice:

    I blocchi style servono solo per dare un po di grafica al blocco di caricamento e al body

    I blocchi script
    Una funzione serve per nascondere il div del caricamento all'interno del quale puoi mettere tutto quello che vuoi,una gif animata,del testo,della dimensione che vuoi.

    setTimeout("toglicaricamento()",3000);
    Usata solo per simulare il tempo totale di carimanto della pagina ad esempio se hai tante foto di buona qualità e che ci metta 3 secondi.
    Al termine dei 3 secondi chiama la funzione che nasconde il div.

    Nel tuo caso basta che metti tale funzione a fine della pagian proprio prima della chiusura del body.

    Spero possa essere un esempio utile... Ne trovi di migliori in giro.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    493
    perfetto!

    un'ultima cosa
    se lo script lo metto prima della chiusura del body i 3000 ms le inizia a contare dopo che ha caricato tutto quello che c'è sopra?

    grazie ancora!

  6. #6
    Ma tu non devi usare il setTimeout("toglicaricamento()",3000);

    io l'ho usato solo perche senno vedevi subito la pagina senza il div rosso.... perche in locale e senza caricare niente il pc è troppo veloce tu prova a usare

    <script>toglicaricamento();</script>

    Posto proprio prima della chiusura del body.

    Quello che fa è quello di nascondere il div di caricamento alla fine,dovrebbe bastare cosi.

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    493
    adesso non mi compare più il div

    codice:
    <head>
    <script>
            function toglicaricamento()
            {
               document.getElementById("caricamento").style.display = "true";
        }     
        </script>
        
    <title>*** Foto 2009 ***</title>
    </head>
    <body>
    
    <table width="100%" border="0">
      <tr>
        <td width="200" valign="TOP"></td>
        <td valign="TOP">
    	
    	<div id="box">
    
          <div align="center" id="caricamento">
    Attendi il caricamento completo della pagina prima di cliccare su una foto
    
      </div>
    
        
    
    
    	
        </div>
    	
    	</td>
      </tr>
    </table>
    
    <script>toglicaricamento();</script>
    </body>
    </html>

  8. #8
    POtrebbe essere perche la pagina è troppo veloce a caricarsi e lo toglie subito? dove hai provato,in locale?

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    493
    ho provato in remoto e non lo mostra anche se sta ancora finendo di caricare la pagina.

  10. #10
    Originariamente inviato da tretretre
    adesso non mi compare più il div

    codice:
               document.getElementById("caricamento").style.display = "none";
    Qua va comunque none,gli stai dicendo prendi l'elemento con id di nome caricamento e setta la visualizzazione a nome,puo essere none,inline,block...

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.