di: Gianni Marzaloni 12 Dicembre 2007
Eh sì, la retro compatibilità è importante ma non sempre voluta. Pensiamo un attimo alla validazione del nostro sito mediante validatori come quello della W3C. Digitando l'URL del sito da validare, il servizio richiede la pagina indicata e la analizza segnalando eventuali errori di conformità del codice. Bene, questo servizio si presenta al Framework sotto forma di browser sconosciuto, per cui il rendering delle pagine assume modalità più "retrò" perdendo così la validità del codice.
Proprio per questo automatismo nel riconoscere il browser del richiedente, è necessario configurare l'applicazione in modo da garantire codice standard anche in presenza di validazioni W3C. Se vogliamo garantire compatibilità con i vecchi browser ma anche dare la possibilità di validare l'applicazione mediante il Validator W3C sarà necessario indicare al Framework che il "browser" W3C può gestire codice conforme allo Strict 1.0. Per farlo, sarà necessario aggiungere nella cartella App_Browsers dell'applicazione un file con estensione ".browser" (ad es. w3c.browser) contenente:
<browsers>
<browser id="W3C_Validator" parentID="Default">
<identification>
<userAgent match="^W3C_Validator" />
</identification>
<capabilities>
<capability name="browser" value="W3C Validator" />
<capability name="ecmaScriptVersion" value="1.2" />
<capability name="javascript" value="true" />
<capability name="supportsCss" value="true" />
<capability name="tables" value="true" />
<capability name="tagWriter" value="System.Web.UI.HtmlTextWriter" />
<capability name="w3cdomversion" value="1.0" />
</capabilities>
</browser>
</browsers>
Il validatore W3C si presenta al sito come agente W3C_Validator, quindi associamo caratteristiche comuni dei più recenti browser in circolazione (supporto CSS/JavaScript, versione degli script, etc.) ed indichiamo l'uso della classe HtmlTextWriter (e non, come di default, Html32TextWriter che renderizza il codice seguendo lo standard HTML 3.2). In questo modo, da ora, anche il validatore W3C riceverà un codice conforme allo standard Strict.
Qualsiasi citazione trovata in rete riguardo alla non conformità XHTML delle pagine ASPX è assolutamente errata. Anzi, Microsoft mette a disposizione un potente strumento in grado di supportare versioni vecchissime di browser lasciando libero il programmatore da tutti i controlli di compatibilità. Ovviamente dovremo fare attenzione al codice statico che inseriremo nelle pagine: quel codice non viene interpretato dal Framework per cui anche un solo <br> senza chiusura può rendere non-standard la pagina.
Guida Windows Azure Code SnippetsLe migliori pratiche per far girare le applicazioni "in the cloud",... |
Guida ASP.NET MVC Best PracticesUn workflow dettagliato e ricco di suggerimenti pratici per... |
Guida ASP.NET Starter KitUn modo semplice per imparare ad utilizzare le tecnologie Microsoft... |
Ogni giovedì, direttamente nella tua e-mail: articoli, guide, tutorial e script ASP, ASP.Net, SQL server e IIS.
Iscriviti alla newsletter
|
|
Corso Progettazione database11 Maggio 2012 a Milano |
|
|
Amministratore di Reti Windows Server 200811 Giugno 2012 a Milano |
|
Nessun corso previsto |