Vogliamo essere in grado di implementare la compatibilità cross-browser ignorando markup, script e stili solo laddove necessario. Vogliamo evitare di bifare tutto ciò che viene inviato al browser, come è stato fatto in passato!
Questo mi ha portato a una struttura di directory con una cartella per "pagina", con markup "master", file di script e di stile e le relative sostituzioni, una per browser. I nomi dei file, sia master che overrides, sarebbero gli stessi da cartella a cartella, e il codice che li collegava tutti insieme può essere condiviso (tutte le risorse pertinenti possono essere inserite con url relativi).
MyPage(folder)
|--Index.aspx
|--Markup.xsl
|--Markup_ie11.xsl
|--Scripts.js
|--Scripts_ie11.js
|--Styles.css
|--Styles_ie11.js
AnotherPage
|--Index.aspx
|--Markup.xsl
|--Markup_ie11.xsl
|--Scripts.js
|--Scripts_ie11.js
|--Styles.css
|--Styles_ie11.js
Ho un progetto di test con tutto ciò che funziona bene, ma sono molto nervoso riguardo a tanti file con lo stesso nome e il nome del file da solo non dà alcun indizio sul suo scopo. Tuttavia, rispetto alla nostra vecchia organizzazione basata sul tipo di file, saltano fuori alcuni vantaggi: i file su cui probabilmente lavorerai insieme sono archiviati insieme. L'albero delle cartelle è piatto. I nomi delle cartelle sono molto più significativi e ho meno bisogno di cercare. Ci sono 1/8 del numero di percorsi hardcoded nell'applicazione (script, stili e markup vengono inseriti con collegamenti relativi).
Qualcuno può pensare a un motivo per non farlo ???