Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    Tabelle: lettura ritardata di una cella.

    Ho una pagina php con una tabella composta da varie celle. La prima cella ha un link esterno (diciamo, pubblicità) che è lento a caricarsi e quindi impedisce la visualizzazione di tutto il resto. Non vorrei cambiare di posizione questa cella, e d'altra parte non posso sostituire la tabella con CSS perché è parte integrante di un programma di gestione news più grande (cutenews). Non è possibile fare in modo che il codice contenuto in quella prima cella sia letto "dopo" aver caricato tutta la pagina?

    Molte grazie a chi mi potrà fornire una soluzione. dopo dopo

  2. #2
    Non so come, ma il dopo è andato fuori posto:

    Non è possibile fare in modo che il codice contenuto in quella prima cella sia letto "dopo" aver caricato tutta la pagina?

    Molte grazie a chi mi potrà fornire una soluzione.

  3. #3
    Utente bannato
    Registrato dal
    Apr 2009
    Messaggi
    530
    È possibile far partire BODY ONLOAD="myFunc()" una funzione che assegna il contenuto .innerHTML alla TD, anche con un setTimeout è possibile.

    Ma se quel link fosse un' immagine, prova prima ad assegnare width e height al Tag IMG che la richiama.

  4. #4
    Scusa, non sono molto pratico di javascript: potresti essere più preciso?
    Ti faccio un esempio semplificato:
    <table>
    <tr><td>Cella da ritardare (object swf)</td></tr>
    <tr><td>Tutto il resto della pagina</td></tr>
    </table>

    Grazie.

  5. #5
    Utente bannato
    Registrato dal
    Apr 2009
    Messaggi
    530
    E io sviluppo volentieri il tuo esempio semplificato:
    codice:
    <html>
    <head>
    <script type="text/javascript"> 
    
    function temporizza(){ 
    
            setTimeout('completa()', 3000); //in millisecondi 3000 = 3 sec.
     } 
    
    function completa(){ 
    
            document.getElementById("campo").innerHTML = 'olé <font color="red">olé</font>';
     } 
    
    </script> 
             
    </head> 
    <body onload="completa();"> 
    
    
    <table>
    <tr><td id="campo" height="50"></td></tr>
    <tr><td>Tutto il resto della pagina</td></tr>
    </table>
    
    </body> 
    </html>
    Devi assegnare un ID alla TD che vuoi far gestire da JavaScript; e lo stesso ID lo riporti nell' istruzione affinché getElementById si connetta con quel determinato Elemento che è nel documento HTML.
    Se occorresse un delay ulteriore, puoi passare per la funzione con il timer facendo onload="temporizza();" che come ora non entra in gioco.

    Ora il discorso sarà sostituire la stringa di Valore di .innerHTML con la serie di Tag OBJECT, PARAM ed EMBED. Come vedi, va introdotta e conclusa da apici, singoli e allora usa quelli doppi nel codice; o viceversa, non devono interferire.
    E neppure si può andare a capo con facilità; per adesso, scrivi il tutto su una sola riga.

  6. #6
    Grazie, molto chiaro: la proverò e ti dirò.

  7. #7
    Dunque, ho applicato i tuoi consigli e vanno molto bene (meglio con la chiamata <body onload="temporizza();"> ), anche se non è stato molto facile per la complessità del codice da inserire (chiamate API di Youtube).
    Come si dice, però, "l'appetito vien mangiando" e quindi ho cercato di ritardare anche la 'comparsa' di un'altra porzione di codice, in questo modo:

    function completa()
    {
    document.getElementById("campo").innerHTML = 'olé <font color="red">olé</font>';
    }

  8. #8
    (A premere il TAB il messaggio parte da solo ... . Dunque, ripeto:

    Ho applicato i tuoi consigli e vanno molto bene (meglio con la chiamata <body onload="temporizza();"> ), anche se non è stato molto facile per la complessità del codice da inserire (chiamate API di Youtube).
    Come si dice, però, "l'appetito vien mangiando" e quindi ho cercato di ritardare anche la 'comparsa' di un'altra porzione di codice, in questo modo:

    function completa()
    {
    document.getElementById("campo").innerHTML = 'olé <font color="red">olé</font>';
    document.getElementById("nuovo").innerHTML = ' <sub>altro codice</sub> ';
    }

    con, naturalmente, l'ID assegnato allo specifico TD ... ma evidentemente devo commettere un errore di scrittura, perché ad inizio pagina mi compare ';} ed il secondo document.getElementById non viene eseguito. Ripeto, non conosco bene Javascript, quindi non sono sicuro di quel che faccio: è corretto il modo in cui ho aggiuntoil nuovo elemento?

    Grazie di nuovo.

  9. #9
    Utente bannato
    Registrato dal
    Apr 2009
    Messaggi
    530
    In altro codice ci sono dei Tag <script></script> :master: ?
    Spezzali così col + di concatenazione:

    .innerHTML = 'altro codice <sc'+'ript>function test(){};</sc'+'ript> altro codice';

    Ma più probabilmente, nella stringa ti ci è finito un doppione di quello di chiusura </script>, per sbaglio; altrimenti, non capirei il <sub> con uno script dentro.

  10. #10
    No mi chiamare cattivo, ti invio qui lo script:

    ---------
    <script type="text/javascript">
    function temporizza(){
    setTimeout('completa()', 4000); //in millisecondi 3000 = 3 sec.
    }
    function completa(){
    document.getElementById("adn-kronos").innerHTML = 'script adn-kronos che funziona';
    document.getElementById("youtube").innerHTML = 'inserire script youtube';
    }
    </script>
    ----------

    SCRIPT YOUTUBE (senza naturalmente gli 'a capo' inseriti qui e senza i commenti)

    <table width=180 cellpadding=0 cellspacing=0 align=center border=1 style= "border: #cdb61f 1px solid; border-collapse:collapse;">
    <tr><td align=center>
    [img]img/vediyoutube.gif[/img]

    <div id="videoBar-bar"><span style="color:#676767;font- size:11px;margin:10px;padding:4px;">Loading...</span></div>

    <script src="http://www.google.com/uds/api?file=uds.js&v=1.0&source=uds-vbw" type="text/javascript"></script>
    <style type="text/css"> @import url("http://www.google.com/uds/css/gsearch.css"); </style>

    <script type="text/javascript"> window._uds_vbw_donotrepair = true; </script>
    <script src="http://www.google.com/uds/solutions/videobar/gsvideobar.js?mode=new" type="text/javascript"></script>
    <style type="text/css"> @import url("http://www.google.com/uds/solutions/videobar/gsvideobar.css"); </style>
    <style type="text/css">
    .playerInnerBox_gsvb .player_gsvb {
    width : 180px;
    height : 260px;
    }
    </style>
    <script type="text/javascript">
    function LoadVideoBar() {
    var videoBar;
    var options = {
    largeResultSet : !false,
    horizontal : false,
    autoExecuteList : {
    cycleTime : GSvideoBar.CYCLE_TIME_MEDIUM,
    cycleMode : GSvideoBar.CYCLE_MODE_LINEAR,
    executeList : ["ytfeed:most_viewed.this_week","ytchannelolitica","politica italiana"]
    }
    }
    videoBar = new GSvideoBar(document.getElementById("videoBar-bar"), GSvideoBar.PLAYER_ROOT_FLOATING, options);
    }
    // arrange for this function to be called during body.onload - event processing
    GSearch.setOnLoadCallback(LoadVideoBar);
    </script>

    </td></tr>
    </table>


    ---------
    <td width="500" height="30" valign="top" align="center" id="adn-kronos"></td> O.K:, funziona
    <td width="180" height="260" valign="top" align="center" id="youtube"></td> DA REGOLARE
    ---------

    Non so come ringraziarti del tuo aiuto .. 8-)

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.