Visualizzazione risultati 1 fino 21 di 21

Discussione: [Javascript] Aiuto popolazione elemento in una pagina

  1. #1
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,767

    Predefinito [Javascript] Aiuto popolazione elemento in una pagina

    Salve,

    Forse il titolo è poco chiaro, ma sto provando a caricare il contenuto di un'elemento dopo il caricamento della pagina, per evitare il rallentamento della stesso:
    Codice HTML:
    <script text="text/javascript">
       window.onload = function()
       {
            var elemento = document.getElementById("id_elemento");
            
            elemento.innerHTML = "<strong>Titolo</strong>";
       }
    </script>
    Con questo codice mi scrive del codice html all'interno dell'elemento, fino a qui va tutto bene, il problema e che non riesco ad inserire il banner pubblicitario di AlterVista, per questo come potrei risolvere?

    Al posto di questo metodo mi consigliate un'altro metodo per evitare il caricamento lento della pagina?
    Ultima modifica di sevenjeak : 25-04-2010 alle ore 16.10.57

    Sevenjeak
    Software developer and much more

  2. #2
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    Vado ad intuito, forse sono i ritorni a capo che ti danno problemi.
    Prendendo il codice di un banner:
    Codice:
    ele.innerHTML = "<script type=\"text/javascript\">
    //<![CDATA[
    document.write('<s'+'cript type=\"text/javascript\" src=\"http://ad.altervista.org/js.ad/size=125X125/r='+new Date().getTime()+'\"><\/s'+'cript>');
    //]]>
    </script>";
    Non funzionerà, mentre se fai un escape prima di andare a capo:
    Codice:
    ele.innerHTML = "<script type=\"text/javascript\">\
    //<![CDATA[\
    document.write('<s'+'cript type=\"text/javascript\" src=\"http://ad.altervista.org/js.ad/size=125X125/r='+new Date().getTime()+'\"><\/s'+'cript>');\
    //]]>\
    </script>";
    Dovrebbe funzionare.

  3. #3
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,767

    Predefinito

    Non funzione.

    In precedenza, prima di aprire questo post, avevo provato con solamente un'escape prima e dopo l'attributi, ma non funzionava lo stesso

    Sevenjeak
    Software developer and much more

  4. #4
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    Ho provato, non funziona.
    All'inizio era colpa del browser che interpretava </script> allora mi è venuto in mente di codificare tutto con la funzione escape e poi fare qualcosa del genere:
    Codice:
    ele.innerHML = unescape('script codificato');
    Ma putroppo non funziona!
    Non ne ho idea, farò altre prove.

  5. #5
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,767

    Predefinito

    Ok, sto provando anche io ma senza risultati

    Sevenjeak
    Software developer and much more

  6. #6
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,744

    Predefinito

    Non può funzionare semplicemente perché sia lo script di Altervista sia il vero script publicitario utilizzano il metodo document.write. Quando questo metodo viene utilizzato in uno script non presente già nella pagina (per esempio aggiunto usando il DOM o la proprietà innerHTML) allora viene cancellato l'intero contenuto della pagina e successivamente scritto nel nuovo documento. Per maggiori dettagli: http://www.whatwg.org/specs/web-apps...nt.write%28%29

  7. #7
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,175

    Predefinito

    ...scusate: avete provato a copiare solo la parte
    Codice HTML:
    '<s'+'cript type=\"text/javascript\" src=\"http://ad.altervista.org/js.ad/size=125X125/r='+new Date().getTime()+'\"><\/s'+'cript>'
    ??

    Ad esempio, una cosa del genede:
    Codice HTML:
    elemento.innerHTML = '<s'+'cript type=\"text/javascript\" src=\"http://ad.altervista.org/js.ad/size=125X125/r='+new Date().getTime()+'\"><\/s'+'cript>';
    ...e poi non ho capito perché devono scrivere: '<s'+'cript...' invece di '<script'

    Ciao!
    Ultima modifica di alemoppo : 26-04-2010 alle ore 15.25.59

  8. #8
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,767

    Predefinito

    Neanche in questo modo funziona.

    Ho provato a scrivere anche cosi:
    Codice:
    element.innerHTML = "<script type=\"text/javascript\" src=\"http://ad.altervista.org/js.ad/size=125X125/r='+new Date().getTime()+'\"></script>";
    Ma non funziona, ora mi viene da farvi una domanda: I banner di AlterVista funzionano senza la funzione CDATE?

    Sevenjeak
    Software developer and much more

  9. #9
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,744

    Predefinito

    Citazione Originalmente inviato da sevenjeak Visualizza messaggio
    Neanche in questo modo funziona.

    Ho provato a scrivere anche cosi:
    Codice:
    element.innerHTML = "<script type=\"text/javascript\" src=\"http://ad.altervista.org/js.ad/size=125X125/r='+new Date().getTime()+'\"></script>";
    Ma non funziona, ora mi viene da farvi una domanda: I banner di AlterVista funzionano senza la funzione CDATE?
    CDATA non è una funzione (se noti è all'interno di un commento), è un tipo di sezione del documento XML, serve per far funzionare lo script sia in documenti HTML sia in documenti XHTML. Comunque non puoi inserire la pubblicità dopo il caricamento della pagina, puoi solo inserire il codice fornito da AV nel punto della pagina in cui vuoi che appaia il banner, per il motivo che ho scritto prima.

  10. #10
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,767

    Predefinito

    Scusa ma non avevo visto il tuo messaggio precedente, allora inserisco direttamente il banner nel codice html, cmq grazie a tutti per l'aiuto
    Ultima modifica di sevenjeak : 26-04-2010 alle ore 18.25.55

    Sevenjeak
    Software developer and much more

  11. #11
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    ...e poi non ho capito perché devono scrivere: '<s'+'cript...' invece di '<script'
    Per evitare che il browser lo interpreti.
    Se provi qualcosa del genere:
    Codice:
    <script type="text/javascript">
    document.blabla.innerHTML = "</script>"; // lo script finisce qui.
    document.balbla.innerHTML = " verrò mai interpretato?"; // no :P
    </script> <!-- per il browser il tag è stato chiuso prima .. -->

  12. #12
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,767

    Predefinito

    Il fatto è che non vorrei che il banner mi rallenti il caricamento della pagina, in alternativa a questo metodo potrei cosa potrei fare per impedire il rallentamento della pagina da parte del banner?

    Un'altra domanda, le pagine che sto creando sono state tutte convalidate, ma il banner mi stampa degli errori al momento della convalida, dovrei rinunciare a convalidare la pagina o potrei convalidare anche il banner?

    EDIT:

    Per la convalida del banner ho risolto modificando lo script in questo modo:
    Codice HTML:
    <script type="text/javascript">
      <!--
      ...
      //-->
    </script>
    In poche parole ho aggiunto quei caratteri all'inizio e alla fine, ma non saprei, magari scrivendo in questo modo il banner può dare problemi ( ad esempio nella retribuzione dei guadagni )?
    Ultima modifica di sevenjeak : 27-04-2010 alle ore 12.46.40

    Sevenjeak
    Software developer and much more

  13. #13
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    Ma Altervista ti da il codice incluso di:
    Codice:
    // <![CDATA[
    ...
    // ]]>
    E non dovresti avere problemi..
    http://it.wikipedia.org/wiki/Javascript#Esempio

  14. #14
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,744

    Predefinito

    Per evitare il rallentamento, nel caso di un layout a colonne, puoi creare la pagina seguendo l'ordine logico (header, contenuto, menu, colonna extra, footer), per poi riordinarlo con i css. In questo modo, se metti il banner dopo il contenuto della pagina non rallenterà il caricamento di quest'ultima. Su questo metodo trovi tutto qui.
    Comunque non dovresti avere problemi di convalida con il codice che fornisce Altervista, che doctype stai usando?

  15. #15
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,767

    Predefinito

    Per quando riguarda la struttura del layout ho una struttura di questo tipo:
    Codice:
    - Header
    ---- Logo
    ---- Info sito
    - Contenitore
    ---- Navigazione
    ---- Extra
    ---- Contenuto
    ---- Footer
    Mi conviene invertire il contenuto con l'extra?

    Per il doctype utilizzo la dtd Transitional definita all'interno del codice in questo modo:
    Codice HTML:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    Sevenjeak
    Software developer and much more

  16. #16
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,744

    Predefinito

    Se l'extra è piuttosto grande, potrebbe aiutare nel caricamento della pagina, sopratutto nelle connessioni lente. Io metterei direttamente dopo l'header il contenuto, a seguire il menù e l'extra (tutto quanto all'interno del contenitore), ovviamente risistemando poi il tutto con il CSS. Comunque non capisco perché ti dia errore durante la validazione della pagina, il codice di Altervista non dovrebbe creare problemi, potresti postare una pagina d'esempio (con il relativo CSS)?

  17. #17
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,767

    Predefinito

    La convalida per ora lo risolta, come puoi vedere nel post qui sopra, ora manca solo il fatto che alcune volte il suo contenuto mi si carica lentamente.

    Ora puoi vedere l'effetto visitando la mia home-page

    Sevenjeak
    Software developer and much more

  18. #18
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,744

    Predefinito

    Non devi fare molto, semplicemente metti il div#content immediatamente dopo il div#navigate. Poi ti consiglio di eliminare la larghezza fissa da il div#header e il div#container, che fa apparire la scrollbar nei monitor 1024x768. Il codice javascript non era xhtml valido perché hai scritto DATA anziché CDATA, il codice corretto è
    Codice HTML:
    <script type="text/javascript">
    	//<![CDATA[
    	document.write('<s'+'cript type="text/javascript" src="http://ad.altervista.org/js.ad/size=120X600/r='+new Date().getTime()+'"><\/s'+'cript>');
    	//]]>
    </script>
    Ultima modifica di karl94 : 27-04-2010 alle ore 19.38.49

  19. #19
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,767

    Predefinito

    Credo di aver levato per sbaglio una C nel codice del banner, visto che il banner lo preso direttamente dal mio panello di controllo.

    Cmq, sto provando in un'altra pagina a modificare il codice:

    http://sevenjeak.altervista.org/v1.0

    E come puoi vedere l'extra mi appare sopra la navigazione, come mai?

    Sevenjeak
    Software developer and much more

  20. #20
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,744

    Predefinito

    Quello succede perché hai messo l'extra prima del div navigate, e siccome questo ha un float a sinistra i due si sovrappongono anziché stare l'uno sotto l'altro. Metti il div extra subito dopo il div content e non avrai più problemi.

  21. #21
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,767

    Predefinito

    Scusa, non mi ero accordo che invece di metterlo sopra il content lo avevo messo sopra la navigate.

    Ora devo andare, ci penso dopo a modificare il codice, ti farò sapere

    EDIT:

    Ho provato è ora funziona, grazie a tutti per l'aiuto
    Ultima modifica di sevenjeak : 27-04-2010 alle ore 21.34.49

    Sevenjeak
    Software developer and much more

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •