Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    1,100

    effetto "loading" con HTML

    non so se si può fare, forse è una cosa impossibile, ma io ci provo lo stesso a chiederlo.....

    creando pagine in HTML si può inserire un effetto stile "barra di caricamento" sulla home page? ossia, visto che temo la mia home page sia un po' pesantina, si può inserire una sorta di barra di avanzamento che indica la percentuale di caricamento della pagina? credo che in flash la cosa sia più facile (quasi tutte le pagine flash hanno questo effetto...)

    grazie in anticipo!
    ufino

  2. #2
    Utente di HTML.it L'avatar di Sgnafurz
    Registrato dal
    Mar 2003
    Messaggi
    2,182

    Re: effetto "loading" con HTML

    Originariamente inviato da ufino
    non so se si può fare, forse è una cosa impossibile, ma io ci provo lo stesso a chiederlo.....

    creando pagine in HTML si può inserire un effetto stile "barra di caricamento" sulla home page? ossia, visto che temo la mia home page sia un po' pesantina, si può inserire una sorta di barra di avanzamento che indica la percentuale di caricamento della pagina? credo che in flash la cosa sia più facile (quasi tutte le pagine flash hanno questo effetto...)

    grazie in anticipo!
    con il solo html no
    non lo puoi fare
    perché il tempo di caricamento dipende dal tempo di risposta del server e dalla linea
    le applicazioni in flash lo fanno perché possono determnare il tempo di caricamento del plugin in locale

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    1,100
    posso "aggirare" il problema in qualche altro modo (che non sia "alleggerire" la home page? )
    ufino

  4. #4
    Utente di HTML.it L'avatar di Sgnafurz
    Registrato dal
    Mar 2003
    Messaggi
    2,182
    Originariamente inviato da ufino
    posso "aggirare" il problema in qualche altro modo (che non sia "alleggerire" la home page? )
    mmm credo di no
    non so se tu possa poi fare un preload di alcuni contenuti ma in questo senso non ne so molto

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    1,100
    peccato.... grazie lo stesso!
    ufino

  6. #6
    quello che tu vuoi fare si chiama preload e si può fare benissimo in JavaScript...cerca e vedrai che trovi...

    e ricorda:
    All is possible, with JavaScript you can!!!
    Let's your dream came true!

  7. #7
    questo è il codice: (naturalemnte per fare un preload l'immagine deve essere on-line altrimenti la velocità è talmente elevata che non vedresti niente... )

    Codice PHP:
    <HTML>

    <
    HEAD>

    <
    TITLE>Un Javascript a settimanala mailing list di HTML.it</TITLE>

    <
    style>
    A:linkA:visited text-decorationnone }
    A:hover text-decorationunderline }
    </
    style>

    <
    script language="JavaScript">
    <!--
    vers 1.0;
    // -->
    </script>

    <script language="JavaScript1.1">
    <!--
    vers = 1.1;
    // -->
    </script>

    <script language="javascript">
    <!--
    function initArray() {
     for (var i = 0; i < initArray.arguments.length; i++)
      this[i] = initArray.arguments[i];
     this.length = initArray.arguments.length;
    }
    var pics = new initArray(
     "http://www.htmlpoint.com/immagine01.jpg",
     "http://www.htmlpoint.com/immagine02.jpg",
     "http://www.htmlpoint.com/immagine03.jpg",
     "http://www.htmlpoint.com/htmlpoint.gif");

    var transfer_url = "http://www.htmlpoint.com/jscript_280200.htm";

    function transfer(param) {
     if (vers>1.0)
      location.replace(transfer_url);
     else
      location.href = transfer_url;
    }

    function done() {
     if (vers < 1.1)
      transfer();
     else
      commence_loading();
    }

    function commence_loading() {
     for (g=0;g<pics.length;g++)
      eval('document.preload'+g+'.src = "'+pics[g]+'";');
    }

    // preload the status bar images
    if (vers >= 1.1) {
     blue = new Image();
     blue.src = "blu.gif";
     black = new Image();
     black.src = "nero.gif";
    }

    var loaded = new Object();
    for (h=0;h<pics.length;h++)
     loaded[h] = 0;
    num_loaded = 0;

    function update(num) {
     loaded[num]++;
     if (loaded[num] == 2) {
      eval('document.status'+num_loaded+'.src = "blu.gif";');
      num_loaded++;
      if (num_loaded == pics.length)
       transfer();
     }
    }
    // -->
    </script>

    </HEAD>
    <BODY  BGCOLOR="white" vlink="blue" link="blue" onLoad="done()">





    <div align=center>

    <script language="JavaScript">
    <!--
    if (vers < 1.1) {
     document.write('Attenzione! Il tuo browser non supporta Javascript');
     for (j=0;j<pics.length;j++) {
      document.write('[img]'+pics[j]+'[/img]');
     }
    } else {
     document.write('<table><tr><td>[b]status:[/b] '
      + '[img]blu.gif[/img]');
     for (k=0;k<pics.length;k++)
      document.write('[img]nero.gif[/img]');
     document.write('</td></tr></table>
    '
      + '[url="'+transfer_url+'"]<font size=arial>Sto caricando la pagina....</font>[/url]');
     for (j=0;j<pics.length;j++) {
      document.write('[img]nero.gif[/img]');
     }
    }
    // -->
    </script>

    </div>
    </font>

    </div>

    </BODY>
    </HTML> 
    Let's your dream came true!

  8. #8
    e questa è la spiegazione: (scusa ma ho dovuto frammantare il tutto)

    Codice PHP:
    *******************************************************************
    A C Q U I S T A   I L   C D R O M    D I    H T M L I T  !

    Eccezionale offerta per gli iscritti alla mailing list:
    acquistando il primo cd-rom contentente tutte le risorse di HTML.it
    avrai diritto ad uno sconto del 25
    sulle future edizioni.
    Cosi' avrai sempre un prodotto aggiornato. Che aspetti, clicca qui!

    [url]http://www.html.it/cdrom.htm[/url]
    *******************************************************************


          
    >>>>>>>>>>>>>>>>>>>> UN JAVASCRIPT A SETTIMANA <<<<<<<<<<<<<<<<<<<<
                 servizio gratuito di ML offerto da HTML.it
                            [url]http://www.html.it[/url]


                      settimana 56 - 28 febbraio 2000

                ----------------------------------------------
                | PRELOAD DI PAGINA E IMMAGINI IN JAVASCRIPT |
                ----------------------------------------------

                          di Massimiliano Valente



                           -   SCHEDA TECNICA   -


    GENERE:           utiliy
    DESCRIZIONE:      Creare una pagina di attesa con visualizzatore grafico progressivo 
                      mentre le immagini della pagina successiva vengono caricate.
    COMPATIBILITA'
    :   MSIENetscape
    USO FILE ESTERNI
    no
    FILE ALLEGATO
    :    "jscript_280200.zip" da 8Kb         



                            
    -   DESCRIZIONE   -


    Il preload e' un elemento tipico dei filmati Flash, laddove la grandezza dei file da scaricare genera tempi di attesa piu' o meno lunghiLa lentezza dei collegamenti Internet e qualche immagine piu' pesante del solito rende possibili tempi di attesa anche per pagine HTML. Javascript consente un effetto simile ai filmati Flash anche per semplici documenti HTML, e lo script di questa settimana lo dimostra.
    In altri termini questo script crea una pagina precedente a quella da raggiungere, e mentre un counter progressivo mostra lo status del donwload, le immagini della pagina successiva vengono caricate. In questo modo, quando il counter avra' 
    terminato la sua corsala pagina successiva e tutte le immagini in essa inserite saranno immediatamente visualizzate

    Il file allegato a questa mail "jscript_280200.zip" si compone di 3 file (esclusi i file "htmlpoint.gif" "jscript_280200.txt"):

    esempio.htm
    nero
    .gif
    blu
    .gif

    Per una piu
    ' semplice comprensione del presente script fai continuamente riferimento ai file sopracitati, verificando le procedure e i dati espressi. Solo in questo modo, con un continuo confronto, comprenderai le peculiarita' di questo Javascript.



               >>>>>>>>>>>>>>>>   
    jscript_280200.htm  <<<<<<<<<<<<<<<<<<


    Questa file non e' contenuto nello zip allegato. Si tratta della pagina principale, cioe' la pagina che vogliamo raggiungeree della quale realizzeremo il preload.
    Per evitare la spedizione di un attach troppo pesanteabbiamo inserito la pagina da raggiungerecon tanto di immaginisu uno dei server di HTML.itprecisamente:

    [
    url]http://www.htmlpoint.com/jscript_280200.htm[/url]

    Questa pagina comprende a sua volta 4 immagini:

    [
    url]http://www.htmlpoint.com/immagine01.jpg[/url]
    [url]http://www.htmlpoint.com/immagine02.jpg[/url]
    [url]http://www.htmlpoint.com/immagine03.jpg[/url]
    [url]http://www.htmlpoint.com/htmlpoint.gif[/url]

    Abbiamo deciso di pubblicare questa pagina sul Webanche perche' in locale sarebbe stato troppo breve il tempo di caricamento per verificare l'effettivo funzionamento del preload.

    Da un punto di vista tecnico si tratta di una normalissima pagina HTML che non prevede l'inserimento di alcun codice Javascript. E' necessariopero', prendere nota delle immagini inserite per creare il preload delle stesse.


               >>>>>>>>>>>>>>>>   esempio.htm  <<<<<<<<<<<<<<<<<<


    Questo file e' 
    il piu' importante ai fini dello script, in quanto contiene l'intera sintassi Javascript necessaria al suo funzionamento.
    Perche' lo script funzioni e' necessario agire su diversi punti del codice.

    Prima di tutto impostiamo il codice all'interno dei campi <HEAD></HEAD> del documento; questa la sintassi completa:


    -------------------------
    <script language="JavaScript">
    <!--
    vers = 1.0;
    // -->
    </script>

    <script language="JavaScript1.1">
    <!--
    vers = 1.1;
    // -->
    </script>

    <script language="javascript">
    <!--
    function initArray() {
     for (var i = 0; i < initArray.arguments.length; i++)
      this[i] = initArray.arguments[i];
     this.length = initArray.arguments.length;
    }
    var pics = new initArray(
     "http://www.htmlpoint.com/immagine01.jpg",
     "http://www.htmlpoint.com/immagine02.jpg",
     "http://www.htmlpoint.com/immagine03.jpg",
     "http://www.htmlpoint.com/htmlpoint.gif");

    var transfer_url = "http://www.htmlpoint.com/jscript_280200.htm";

    function transfer(param) {
     if (vers>1.0)
      location.replace(transfer_url);
     else
      location.href = transfer_url;
    }

    function done() {
     if (vers < 1.1)
      transfer();
     else
      commence_loading();
    }

    function commence_loading() {
     for (g=0;g<pics.length;g++)
      eval('
    document.preload'+g+'.src "'+pics[g]+'";');
    }

    // preload the status bar images
    if (vers >= 1.1) {
     blue = new Image();
     blue.src = "blu.gif";
     black = new Image();
     black.src = "nero.gif";
    }

    var loaded = new Object();
    for (h=0;h<pics.length;h++)
     loaded[h] = 0;
    num_loaded = 0;

    function update(num) {
     loaded[num]++;
     if (loaded[num] == 2) {
      eval('
    document.status'+num_loaded+'.src "blu.gif";');
      num_loaded++;
      if (num_loaded == pics.length)
       transfer();
     }
    }
    // -->
    </script>
    -------------------------


    Particolarmente importanti i riferimenti alle immagini ed al documento dei quali viene effettuato il preload.
    Le immagini inserite all'
    interno del file jscript_280200.htm sono singolarmente richiamate da questo codice:


     
    "http://www.htmlpoint.com/immagine01.jpg",
     
    "http://www.htmlpoint.com/immagine02.jpg",
     
    "http://www.htmlpoint.com/immagine03.jpg",
     
    "http://www.htmlpoint.com/htmlpoint.gif");


    Mentre la pagina HTML che contiene queste immagini e che verra' caricata dopo un certo numero di secondi e' stabilita da:


    var 
    transfer_url "http://www.htmlpoint.com/jscript_280200.htm";


    Perche' lo script funzioni e' necessario richiamare il gestori di eventi onLoad all'interno del tag <BODY>:


    <BODY onLoad="done()">


    L'
    ultima operazione da compiere consiste nell'inserire il seguente codice nel corpo del documento (tra i tag <BODY></BODY>):

    -------------------------
    <script language="JavaScript">
    <!--
    if (vers < 1.1) {
     document.write('
    AttenzioneIl tuo browser non supporta Javascript');
     for (j=0;j<pics.length;j++) {
      document.write('
    [img]'+pics[j]+'[/img]');
     }
    } else {
     document.write('
    <table><tr><td>[b]status:[/b'
      + '
    [img]blu.gif[/img]');
     for (k=0;k<pics.length;k++)
      document.write('
    [img]nero.gif[/img]');
     document.write('
    </td></tr></table>
    '
      + '
    [url="'+transfer_url+'"]<font size=arial>Sto caricando la pagina....</font>[/url]');
     for (j=0;j<pics.length;j++) {
      document.write('
    [img]nero.gif[/img]');
     }
    }
    // -->
    </script>
    -------------------------

    Vediamo quali porzioni di codice vanno modificate per una maggior personalizzazione dello script:

    document.write('
    AttenzioneIl tuo browser non supporta Javascript');
    Questo codice genera il messaggio di avviso per i browser che non supportano Javascript, e che dunque non possono visualizzare questa pagina di preload. 
    La percentuale di tali browser e' 
    minima.

    '[url="'+transfer_url+'"]<font size=arial>Sto caricando la pagina....</font>[/url]');
    Questa riga di codiceoltre a richiamare la funzione di trasferimento all'URL principale, viene utilizzate per messaggi testuali di attesa. Come si nota e' possibile inserire qualsiasi tag HTML all'interno di questo codice.

    Questo script si dimostra utile per pagine particolarmente pesanti; e' 
    facile da personalizzare ed ha un buon impatto visivoRappresenta dunqueuna buona scelta per migliorare le proprie pagine e rendere meno noiosa l'attesa dei visitatori. 
    Let's your dream came true!

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 © 2024 vBulletin Solutions, Inc. All rights reserved.