Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    542

    Come assicurare la compatibilità con i browser

    Salve a tutti,
    vorrei sapere quale intestazione HTML utilizzare per avere la massima compatibilità con browser IE, FireFox, NetScape ecc. e se conoscete un editor Free che fa il controllo della compatibilità.

    Prima di create una pagina PHP (che abbia anche codice HTML) pensavo si usare FrontPage per creare una pagina vuota con l'intestazione HTML e poi scrivere il codice PHP nei punti opportuni.
    Secondo voi è sbagliata questa strada? Voi come procedete?

    Una testa HTML come la seguente secondo voi assicura la compatibilità?

    <!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="en" lang="en">

    l'attributo lang può avere più valori in modo da avere al giusta visualizzazione con più set di caratteri (per esempio quello occidentale e quello asiatico)?

    Grazie
    Guidino

  2. #2
    questo non è un problema di php, ma del layout che usi

    ti sposto ciao

  3. #3
    Parli di compatibilità ma non si capisce in che senso.
    Tutti i browser interpretano l'HTML con il loro "modo" particolare.
    La sintassi fondamentale dell'XHTML è l'XML e, da un punto di vista di forma, viene interpretato correttamente da TUTTI i browser. Che questo poi si traduca in un layout "incasinato" dipende più che altro da due fattori che cercherò di riassumere brevemente.
    Dichiarare il DOCTYPE può sembrare una soluzione, ma a volte ingenera più problemi di quanto si pensi. Se si volesse seguire nel dettaglio ogni raccomandazione del W3C l'XHTML deve essere servito come application/xhtml+xml.
    Se inserisci tale dichiarazione nel documento non significa che questo venga servito dal server come tale, ma bisogna forzarne il tipo.
    In php questo può essere fatto riscrivendo l'header "Content-Type".
    Questo sarebbe il modo corretto di agire: servire un documento XHTML come applicazione XML.
    Il problema che sorge è che Internet Explorer non vuole proprio saperne di visualizzarlo e mostra, il più delle volte, solo la struttura XMLe Firefox crea problemi con alcuni oggetti come l'XMLHTTPRequest (in parole povere: non funiona e genera errore).
    Un altro problema è relativo al layout.
    Il layout di un documento XHTML è contestualmente semparato dal suo contenuto e definito in un documento CSS.
    Ed è qui che entra in gioco più che mai la differenza fra i vari browser che interpretano alcune proprietà "a modo loro" discostandosi da quelle che sono le raccomandazioni del W3C.

    L'unico modo, quindi, di realizzare un sito compatibile, indipendentemente dal linguaggio server-side con cui viene sviluppato, è verificarlo attraverso l'utilizzo di più browser.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    542
    Ho capito, la questione è complessa.

    Ti ringrazio per avermi dato qualche elemento di riflessione.

    Guidino

  5. #5
    Io faccio così:

    codice:
    <?xml version="1.0" encoding="iso-8859-1"?>
    <!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" lang="it">
    Penso che sia il metodo più corretto. Poi, per sistemare IE (fondamentalmente IE<=6.0) uso i commenti condizionali.

  6. #6
    Io utilizzo questa tecnica. Creo i documenti come XHTML 1.1 e ne altero il content-type tramite script lato server (personalmente lavoro in asp.net con c#)

    Lo script verifica la variabile utente HTTP_ACCEPT e HTTP_USER_AGENT per fare i seguenti controlli:

    Se mi trovo davanti il validatore del w3c (controllando HTTP_USER_AGENT) servo application/xhtml+xml
    Se mi trovo davanti un browser che nel HTTP_ACCEPT supporta application/xhtml+xml lo servo come tale
    In tutti gli altri casi (cioè internet explorer) servo text/html

    E' un modo efficace per ottenere i migliori risultati, con un piccolo hack rivolto a IE.

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    542
    Grazie, per avermi risposto.
    Per la compatibilità con i vari browser forò alcune prove.

    Come specificato all'apertura della discussione voerri fare pagine utilizzando il set di caratteri europeo e quello giapponese.

    Il blocco di codice postato da Panta con encoding="iso-8859-1" viene assicurato anche il supporto a tutti i set di caratteri?

    <?xml version="1.0" encoding="iso-8859-1"?>
    <!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" lang="it">

    Grazie ancora.
    Guidino

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    542
    Vorrei sapere da Sgro come si fa a scegliere come servire una pagina al cliente e se questa decisione è possibile anche in ambiente PHP oltre che Asp.net

    Tu hai scritto:

    "Se mi trovo davanti il validatore del w3c (controllando HTTP_USER_AGENT) servo application/xhtml+xml
    Se mi trovo davanti un browser che nel HTTP_ACCEPT supporta application/xhtml+xml lo servo come tale
    In tutti gli altri casi (cioè internet explorer) servo text/html"

    Grazie
    Guidino

  9. #9
    Il solo codice HTML non è sufficiente: la pagina deve inviare il charset nell'header.
    La soluzione descritta da Sgro è esemplificativa: l'header deve essere gestito lato server.
    Una nota per Sgro: il tuo metodo è ineccepibile e lo uso anch'io con l'eccezione che anche per Firefox utilizzo un type:text/html per via del fatto che alcuni oggetti Javascript si rifiutano di funzionare (ad es. XMLHTTPRequest) per via di bug che, tra le altre cose, non permette il caricamento incrementale di XML poichè non ancora implementato: http://www.mozilla.org/docs/web-deve...aq.html#accept

  10. #10
    Originariamente inviato da guidino
    Il blocco di codice postato da Panta con encoding="iso-8859-1" viene assicurato anche il supporto a tutti i set di caratteri?

    <?xml version="1.0" encoding="iso-8859-1"?>
    <!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" lang="it">
    Pardon, rispondo: no, ma conviene usare le entità (&amp;egrave; al posto di è, eccetera).
    Altrimenti, se vuoi una compatibilità carattere più estesa, esistono altri charset, che però così su due piedi non mi vengono in mente (ma credo sia una cosa del tipo "latin1").

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 © 2026 vBulletin Solutions, Inc. All rights reserved.