Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Strano lampeggiamento solo in firefox

    Ciao a tutti.
    Mi succede una cosa stranissima (solo in Firefox).
    Ho una pagina che ha il seguente codice:

    Codice PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <
    html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it">
    <
    head>
    <
    meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <
    meta http-equiv="Content-Language" content="it" />

    <
    meta name="description" content="Parco regionale" />
    <
    meta name="keywords" content="progettipercomunicarei" />

    <
    meta name="author" content="progettipercomunicare, [email]info@progettipercomunicare.it[/email]" />
    <
    title>Fondazione Nuovo Teatro Verdi Brindisi Test</title>
        <
    style type="text/css" media="all">@import "include/style.css";</style>
        <
    script src="include/js/lib/prototype.js" type="text/javascript"></script>
        <script src="include/js/src/scriptaculous.js" type="text/javascript"></script>
        <script type="text/javascript"  src="include/js/lib/PrototypeXtensions.js"></script>
        <script src="include/js/src/unittest.js" type="text/javascript"></script>
        <script type="text/javascript"  src="include/js/interazione.js"></script>
    </head> 
    <body> 


    [url="javascript:getContent('contentTest', 'teatro/pagTest')"]> carica contenuto flash[/url]</p>
        <div id="contentTest"></div>
    </body>
    </html> 
    La funzione che viene caricata al clic sulla scritta "> carica contenuto flash" è la seguente:

    Codice PHP:
    function getContent(divBoxnameFile) {
        var 
    urlModule "elementi/" nameFile ".php";
        
        new 
    Ajax.History.Updater(divBoxurlModule, {
            
    history   : {
                
    id    'main',
                
    state nameFile,
                
    cache true
            
    }
        });

    Uso PrototypeXtensions.js per gestire la history.
    In pratica la funzione su indicata mi serve per caricare un file .php dentro il DIV con id = contentTest.
    Il caricamento avviene correttamente, ma essendo che dentro il file caricato c'è un piccolo filmato flash, questo si mette a lampeggiare. Il lampeggiamento è dato dal fatto che il file SWF viene caricato continuamente, l'ho verificato utilizzando FireBug.
    Questa strana anomalia non avviene in Explorer 6 e 7, non avviene in Safari, ma solo in firefox per mac e firefox per windows.
    Potete vedere la pagina incriminata qui:

    http://www.fondazionenuovoteatroverd...rdi/test01.php
    Se avete voglia e tempo la provereste su IE e firefox?
    Qualcuno di voi sa dirmi che cosa non và?
    Vi ringrazio!
    Lo scoppato
    andrea@progettipercomunicare.it
    www.progettipercomunicare.it

  2. #2
    a me sembra che faccia così perché l'updater continua ogni secondo a ricaricare il flash, quindi l'effetto è giusto, il fatto è che se rimuovi e rimetti il flash con JS l'effetto che ottieni è quello, per farlo ricaricare ci sono le funzioni apposite di flash.
    I DON'T Double Click!

  3. #3
    Originariamente inviato da artorius
    il fatto è che se rimuovi e rimetti il flash con JS l'effetto che ottieni è quello, per farlo ricaricare ci sono le funzioni apposite di flash.
    Non ho capito cosa vuoi dire
    Lo scoppato
    andrea@progettipercomunicare.it
    www.progettipercomunicare.it

  4. #4
    allora, Ajax.Updater (e suppongo Ajax.History.Updater) funzionano in modo che ottengono l'html da una pagina server e sostituiscono il contenuto del div con indichi con quello ottenuto tramite Ajax, ripetendo la cosa ogni tot secondi.
    Ovviamente, se la pagina che ottieni con Ajax ha una funzione JS che inserisce un embed flash, ad ogni iterazione dell'Updater l'oggetto flash verrà cancellato e reinserito. Se l'Updater fa l'aggiornamento ogni secondo, l'effetto che ottieni e quello della tua pagina.
    I DON'T Double Click!

  5. #5
    Ho capito perfettamente.
    Ora mi chiedo, posso evitare che questo aggiornamento avvenga?
    Oppure c'è un'altro modo per gestire l'history evitando il caricamento ciclico del contenuto?
    Lo scoppato
    andrea@progettipercomunicare.it
    www.progettipercomunicare.it

  6. #6
    usare il Request anzichè l'Updater potrebbe essere un'idea...
    I DON'T Double Click!

  7. #7
    Ho risolto grazie all'indicazione di artorius.
    Ecco come, magari può servire ad altri:

    Ho inserito la seguente funzione:

    Codice PHP:
    function addRequest(urlmyStateidBox) {
        new 
    Ajax.History.Request(url, {
            
    history : {
                
    id    'page',
                
    state myState,
                
    cache true,
                
    onStateChange: function(state) {
                    
    History.setTitle(History.getTitle() + ' - ' state);
                }
            },
            
    onSuccess: function(transport) {
            $(
    idBox).update(transport.responseText);
            }
        });

    Tale funzione la associ al clic su un link, passandogli:
    url = iindirizzo relativo della pagina da inserire nell'idBox
    myState = un nome che mi serve per gestire l'hash della pagina
    idBox = id del contenitore che deve essere riempito con la pagina richiamata.

    Chiaramente utilizzo i file prototype.js e PrototypeXtensions.js

    Grazie ancora a artorius
    Lo scoppato
    andrea@progettipercomunicare.it
    www.progettipercomunicare.it

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.