• User Attivo

    Preload javascript per giochi e file swf

    Ciao,
    Cerco aiuto 🙂
    Ho dei siti dove carico giochi in flash e animazioni swf, mi piacerebbe che prima della visualizzazione del giochino e dell'animazione venisse mostrato, al posto del giochino, una barra di avanzamento per circa 40 seconsi con e un quadrato adsense, finiti i 40 secondi parte il file swf.

    In pratica invece di aspettare il caricamento del file flash, vorrei mostrare un banner adsense per poi far vedere il giochino già caricato.

    mi sapreste indicare uno script
    con il quale realizzare il preload?
    :tongueout:


  • User Attivo

    Prova così :
    [HTML]<html>
    <head>
    <title>Esempio</title>

    <script type="text/javascript">
    <!--

    function show(){

    a = document.getElementById("adsensegame");
    b = document.getElementById("divgame");
    a.style.display = "none";
    b.style.display = "block";
    b.style.visibility = 'visible';
    a.style.visibility = 'hidden';

    }
    window.setTimeout("show()",40000);
    //-->
    </script>
    <body>

    <div id = "adsensegame" style = "display : block">adsense</div>
    <div id = "divgame" style = "display : none;">game</div>
    </body>
    </html>[/HTML]
    Nella prima div inserisci il tuo adsense, nella seconda il file swf;)


  • User Attivo

    Funziona tutto correttamente
    MILLE GRAZIE !!!!!


  • User Attivo

    Prego, di niente!;)


  • User

    Chiedo venia se m'intrometto...

    @ilnetsurfer
    questo script che hai indicato può essere usato anche per un preload del caricamento di una pagina intera, senza settare un tempo stabilito?

    Cioè, voglio dire, se al posto del div "adsensegame" ci metto un div contenente un messaggio di caricamento in corso, e al posto del div "divgame" ci metto il div contenente l'intero layout della pagina html, immagino funzionerà comunque...
    Solo che bisognerebbe sostituire la stringa:
    **

    window.setTimeout("show()",40000);
    
    

    ...con un'altra funzione che calcoli il tempo necessario per il caricamento della pagina in modo da farla apparire solo quando il suo caricamento è completo.

    E' possibile modificare il js in questo modo? Io sono quasi un profano di javascript, e mi sarebbe molto utile un aiuto. Grazie.


  • User Attivo

    Salve,

    mi intrometto anche io;

    ho un problema con questo codice, probabilmente sbaglio qualcosa, lo riporto qui:

    <!DOCTYPE ....>
    <html>
    <head>
    ...
    <script type="text/javascript">
    <!--
    function show(){
    a = document.getElementById("Layer2");
    b = document.getElementById("Layer1");
    a.style.display = "none";
    b.style.display = "block";
    b.style.visibility = 'visible';
    a.style.visibility = 'hidden';
    }
    window.setTimeout("show()",5000);
    //-->
    </script>
    </head>
    <body>
    **<div id="Layer2" style="display: none;">**Attendere il caricamento della pagina...**</div>**
    **<div id="Layer1" style="display: block;">**
    	<object type="application/x-shockwave-flash" data="file.swf" style="width: 900px; height:400px;">
    		<param name="movie" value="file.swf" />
    	</object>
    **</div>**
    </body>
    </html>
    

    Se inverto l'ordine:

    a = document.getElementById("Layer1");
    b = document.getElementById("Layer2");
    

    lo script funziona ma non è quello che voglio ottenere (la scritta caricamento appare per seconda, come è giusto che sia...)