Visualizzazione risultati 1 fino 17 di 17
Like Tree2Likes
  • 1 Post By mzanella
  • 1 Post By mzanella

Discussione: Dubbio sul come formattare il codice

  1. #1
    Guest

    Predefinito Dubbio sul come formattare il codice

    Vorrei sapere qual'è il metodo migliore per formattare questo script, ho provato nei 2 modi e funziona, ma qual'è il modo più corretto?

    Questo css prende tutto:

    Codice:
     <span class="xxx">  
    <script>	
    //Feste dal 1-12 al 2-1		   	
    function feste() {  
    var calendario = new Date(); 
    var giorno = calendario.getDate();
    var mese = (calendario.getMonth()+1); // Gennaio=1	  
    var nodate = 1;  
    if (((giorno >=1) && (mese==4)) || ((giorno <=2) && (mese==1))) {
    document.write('Buone Feste!'); var nodate = 0;
    }
     } 	
    feste();
      </script>
        </span>
    Questo invece solo il richiamo:

    Codice:
    <script>	
    //Feste dal 1-12 al 2-1		   	
    function feste() {  
    var calendario = new Date(); 
    var giorno = calendario.getDate();
    var mese = (calendario.getMonth()+1); // Gennaio=1	  
    var nodate = 1;  
    if (((giorno >=1) && (mese==12)) || ((giorno <=2) && (mese==1))) {
    document.write('Buone Feste!'); var nodate = 0;
    }
     } 
    </script>
     
        <span class="xxx">
          <script>	
            feste();
          </script>
        </span>
    Ci sarebbe poi un altro modo che è quello di formattare direttamente il testo nel document.write:

    Codice:
    document.write('<span class="xxx">Buone Feste!</span>'); var nodate = 0;
    Ultima modifica di albertifoto : 25-04-2020 alle ore 10.18.48

  2. #2
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    La domanda non riguarda tanto la formattazione del codice, quanto piuttosto la struttura generale della pagina/script. Andiamo per gradi:
    • hai definito una funzione, la cui invocazione scriverà del testo nella pagina: non importa dove la definisci, purché sia disponibile nello scope
    • di conseguenza, colloca la definizione della funzione in un posto che sia "comodo" alla lettura del codice: certamente non mezzo all'HTML, piuttosto nello head o, meglio ancora, in un file JavaScript separato che potrai includere quando ne avrai necessità
    • usa l'indentazione in modo ragionevole; non importa se usi 2 o 4 spazi, o la tabulazione, purché tu sia consistente (questa è la formattazione vera e propria), come nell'esempio in fondo
    • meglio evitare parentesi ridondanti
    • definisci una variabile locale nodate, la sovrascrivi dentro il corpo dell'if e poi non la usi: perché? Tanto vale rimuoverla
    • in generale l'uso di document.write per generare dinamicamente contenuti non è una scelta molto popolare, meglio utilizzare le apposite funzioni per la manipolazione del DOM


    Esempio
    Codice HTML:
    <script>
    function feste() {
      var calendario = new Date();
      var giorno = calendario.getDate();
      var mese = calendario.getMonth() + 1;
      if ((giorno >= 1 && mese==12) || (giorno <= 2 && mese == 1)) {
        document.write('Buone Feste!');
      }
    }
    </script>
    ...
    <span class="xxx">
      <script>
        feste();
      </script>
    </span>

    I suggerimenti che do più spesso:


  3. #3
    Guest

    Predefinito

    Ho messo così in un file e sembra funzionare:

    Codice HTML:
    <script>
    function feste() {
      var calendario = new Date();
      var giorno = calendario.getDate();
      var mese = calendario.getMonth() + 1;
      if ((giorno >= 1 && mese==12) || (giorno <= 2 && mese == 1)) {
        document.write('<span class="feste">Buone Feste!</span>');
      }
    }
     	
    feste();
      </script>
    Ultima modifica di albertifoto : 26-04-2020 alle ore 15.47.43

  4. #4
    davidenessi non è connesso Utente AlterBlog
    Data registrazione
    16-05-2020
    Messaggi
    8

    Predefinito

    Se scrivo il codice che avete postato ottengo questo errore di formattazione:

    if ((giorno >= 1 && mese==12) || (giorno <= 2 &#038;#038)) {...}

    come mai? Cosa posso fare per evitarlo?
    Ultima modifica di davidenessi : 23-05-2020 alle ore 17.29.33

  5. #5
    Guest

    Predefinito

    Citazione Originalmente inviato da davidenessi Visualizza messaggio
    Se scrivo il codice che avete postato ottengo questo errore di formattazione:

    if ((giorno >= 1 && mese==12) || (giorno <= 2 &#038)) {...}

    come mai? Cosa posso fare per evitarlo?
    Non saprei, io l'ho messo in php

    Codice PHP:
    <?php
    //Feste dal 1-12 al 2-1
    $giorno = date('d');
    $mese = date('m');
    if ((
    $giorno >= 1 && $mese == 12) || ($giorno <= 2 && $mese == 1))
    echo
    '<span class="feste">Buone Feste!</span>';
    ?>

  6. #6
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Citazione Originalmente inviato da davidenessi Visualizza messaggio
    Se scrivo il codice che avete postato ottengo questo errore di formattazione:

    if ((giorno >= 1 && mese==12) || (giorno <= 2 &#038)) {...}

    come mai? Cosa posso fare per evitarlo?
    A volte copiando e incollando pezzi di codice vengono inseriti caratteri o codifiche diversi da quelli attesi. Riscrivilo manualmente, almeno le parti di codice modificate.

    I suggerimenti che do più spesso:


  7. #7
    davidenessi non è connesso Utente AlterBlog
    Data registrazione
    16-05-2020
    Messaggi
    8

    Predefinito

    L'ho riscritto manualmente ma mi da sempre lo stesso errore nella console quando avvio l'anteprima.

  8. #8
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Quale errore?

    I suggerimenti che do più spesso:


  9. #9
    davidenessi non è connesso Utente AlterBlog
    Data registrazione
    16-05-2020
    Messaggi
    8

    Predefinito

    Ho scritto manualmente questo:
    Codice:
    <script>
    function feste(){
       var calendario = new Date();
       var giorno = calendario.getDate();
       var mese = calendario.getMonth() + 1;
       if ((giorno >=1 && mese == 5) || (giorno <= 2 && mese == 1)){
       document.write('<span class = "feste">Buone Feste!</span>');
    }
    }
    feste();
    </script>
    Ma quando vado in anteprima nella console compare un errore Uncaught SyntaxError: Invalid or unexpected token e sembra che abbia trasformato && in &#038&#038. Come posso fare? Cosa sto sbagliando?
    Ultima modifica di davidenessi : 24-05-2020 alle ore 11.41.52

  10. #10
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Il codice di per se non ha problemi, probabilmente dipende dall'editor. Quale stai usando?

    I suggerimenti che do più spesso:


  11. #11
    davidenessi non è connesso Utente AlterBlog
    Data registrazione
    16-05-2020
    Messaggi
    8

    Predefinito

    Sto inserendo il codice nell'editor integrato in altervista/wordpres per inserire gli articoli. Sto usando il blocco HTML personalizzato.

  12. #12
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Immagino che quegli editor siano pensati più per HTML che JavaScript, e quindi applichino la conversione dei caratteri speciali.
    Se hai accesso a FTP prova a modificare il file localmente e caricarlo tramite FTP.
    davidenessi likes this.

    I suggerimenti che do più spesso:


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

    Predefinito

    Hai cancellato la cache del tuo browser e quella di CloudFlare (se lo hai attivo?)

    Ci puoi indicare la pagina così da vedere l'errore?

    Ciao!

  14. #14
    davidenessi non è connesso Utente AlterBlog
    Data registrazione
    16-05-2020
    Messaggi
    8

    Predefinito

    Ho caricato lo script via FTP ma ora non so come avviare lo script all'interno di un articolo.
    Questo è il link alla pagina:

    https://davidenessi.altervista.org/658-2/

  15. #15
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Ho caricato lo script via FTP ma ora non so come avviare lo script all'interno di un articolo.
    Così:
    Codice HTML:
    <script src="percorso/dello/script/caricato.js"></script>
    davidenessi likes this.

    I suggerimenti che do più spesso:


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

    Predefinito

    Se apri il file che hai caricato con blocco note, ti appare questo?
    Codice:
    (giorno <= 2 && mese == 1)
    Se no, riscrivi comunque così:
    Codice:
    (giorno <= 2 && mese == 1)
    Quindi salva e ricarica il file.

    Ciao!

  17. #17
    davidenessi non è connesso Utente AlterBlog
    Data registrazione
    16-05-2020
    Messaggi
    8

    Predefinito

    Grazie ho fatto così e ora funziona.

Regole di scrittura

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