Visualizzazione dei risultati da 1 a 9 su 9

Discussione: CSS vs Frames

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    27

    CSS vs Frames

    Buongiorno,
    ero abituato a realizzare una sola pagina di menu abbinata poi al resto delle pagine web tramite frames.
    Mi sembra di aver capito tuttavia che i frames non sono più utilizzati e mi stò documentando sulla creazione dei menu con CSS.
    Vedo però che in ogni pagina web deve essere definito il menu: questo non comporta una difficoltà a livello di manutenzione? Se un giorno volessi aggiungere una voce ai menu dovrei modificare tutte le pagine web?
    Grazie mille

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2014
    residenza
    Voltati
    Messaggi
    913
    Non conviene mettere in ogni pagina il meno, ma crearne uno solo da includere successivamente in ogni pagina:
    Io mi comporto così:

    1. Tutte le pagine, anziché .html le salvo in .php
    2. Poi creo una pagina menu.php e all'interno ci scrivo il menu
      codice HTML:
      <ul>
          <li><a href="#">Voce 1</a></li>
          <li><a href="#">Voce 2</a></li>
          <li><a href="#">Voce 3</a></li>
          <li><a href="#">Voce 4</a></li>
      </ul>
    3. In ogni altra pagina del sito scrivo
      Codice PHP:
      <?php include("menu.php"); ?>
      dove voglio che compaia il menu.



    Così per aggiornare il menu basta modificare il file menu.php

    C'è anche un'altra possibilità che sfrutta soltanto ajax, ma la prima è 100 volte migliore di questa (usala solo se per qualche motivo non puoi usare il php o un altro linguaggio lato server)

    • Crei il file menu.json strutturato in questo modo:
      codice:
      [
          {
              "nome": "Voce 1",
              "link": "voce1.html"
          },
          {
              "nome": "Voce 2",
              "link": "voce2.html"
          },
          {
              "nome": "Voce 3",
              "link": "voce3.html"
          },
          {
              "nome": "Voce 4",
              "link": "voce4.html"
          }
      ]
    • In ogni pagina metti il div che conterrà il menu:
      codice HTML:
      <div id="menu"></div>
    • Crei il menu richiamando con ajax questo file e trasformandolo in html (uso jquery, ma lo puoi fare anche senza)
      codice:
      $(function () {
          $.getJSON("menu.json", function (elenco) {
              var menu = $("<ul/>");
              $.each(elenco, function (key, val) {
                  menu.append("<li><a href=\"" + val.link + "\">" + val.nome + "</a></li>");
              });
              $("#menu").append(menu);
          });
      });


    I codici sono solo esempi non testati, usali come spunto
    No

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    27
    Ciao, ti ringrazio per il generoso e rapido aiuto.
    Purtroppo non conosco Php quindi temo di dover utilizzare la tua 2° indicazione.
    Proprio non capisco perchè sono stati abbandonati i frames, perchè per lo meno per quanto riguarda la manutenzione dei menu erano perfetti: 1 solo file da cambiare e nessun riferimento nelle pagine web.
    Grazie ancora

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2014
    residenza
    Voltati
    Messaggi
    913
    PS Anche se non consci il php, devi scrivere solo una riga di php nel file, tutto il resto rimane html

    I frame non sono stati abbandonati (almeno credo), basta usare il giusto doctype
    No

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    27
    Quote Originariamente inviata da tampertools Visualizza il messaggio
    PS Anche se non consci il php, devi scrivere solo una riga di php nel file, tutto il resto rimane html

    I frame non sono stati abbandonati (almeno credo), basta usare il giusto doctype
    Non và bene <!DOCTYPE html> ?
    Grazie ancora

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2014
    residenza
    Voltati
    Messaggi
    913
    Per i frame no, con quello devi includere in uno dei due modi che ti ho detto le parti della pagina.
    Se vuoi i frames è <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
    No

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    27
    Ciao,
    come si fa per sapere quale DOCTYPE inserire in una pagina web?
    E' qualcosa che si sà oppure c'è uno strumento per saperlo?
    Io utilizzo Frontpage 2003 e non c'è nessun DOCTYPE nelle pagine generate.
    Grazie ancora

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2014
    residenza
    Voltati
    Messaggi
    913
    Esempio
    codice HTML:
    <!DOCTYPE html>
    <html>
      <body>
        Bla bla bla
      </body>
    </html>
    Il doctype devi aggiungerlo tu come prima riga, prima del tag html.

    Normalmente prima si sceglie il doctype e poi si scrive la pagina web... questo perché l'html devi scriverlo seguendo le regole definite nel tuo doctype.

    Se usi l'html con i frames il doctype è
    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">

    Html5
    codice:
    <!DOCTYPE html>
    Xhtml con i frames
    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "XHTML1-f.dtd" >

    Ci sono anche altri doctype, cercali su google
    No

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    27
    Grazie!
    Non sapevo che fosse così importante.

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.