Grafica Pagina aspx incompatibile con ie 8

venerdì 07 dicembre 2012 - 11.42
Tag Elenco Tags  VB.NET  |  .NET 4.0  |  Windows Server 2008  |  Visual Studio 2010  |  Javascript  |  CSS 2.1  |  CSS 3.0  |  HTML 5

trinity Profilo | Guru

Salve ragazzi,

in rete avevo trovato questo tag:

<meta http-equiv="X-UA-Compatible" content="IE=5, IE=8, IE=9, IE=10" />

il quale diceva che rendeva compatibile al visualizzazione della pagina con gli explorer citati. Io utilizzo IE 9 e ho creato la pagina aspx testandola con questo browser ed è conforme anche con chrome...ora da un altro computer che ha IE 8 apro la stessa pagina e noto che l'impaginazione della grafica non funziona sballa tutto...la posizione dei Div errata, l'immagine caricata con i css che viene ripetuta quando invice è impostata che non deve ripetersi nè in verticale nè in orizzontale.
C'è un codice che rendere comatibile la pagina aspx con almeno le versioni di IE 8-9-10?

Ciao e grazie
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

andrestu Profilo | Expert

se non ho capito male l'approccio che hai utilizzato non è del tutto corretto, nel senso che quei tag <meta ... servono a far "lavorare" il browser in modalità compatibile secondo quanto dichiarato nel tag.
per farti un esempio, se io voglio creare una pagina compatibile al 100% con IE7 devo crearla testandola con IE7 e aggiungendo alla pagina il tag <meta ... content="IE=7" ... in questo modo avrò la certezza che se anche la pagina viene aperta con un browser di versione superiore il browser la visualizzerà in modalità IE7.
Non credo che esista un tag o qualcosa che ti possa trasformare in automatico la pagina in modo che sia compatibile verso il basso, in poche parole devi progettarla in modo che sia già dal principio compatibile con la versione più bassa che ritieni, poi sinceramente se esiste qualcosa del genere non lo so, anzi se mi dovessi sbagliare fammi sapere.
Per quanto mi riguarda fino a poco tempo fà io svilppavo in modo da avere la compatibilità con IE6, già da diverso tempo ho alzato la soglia a IE7 visto che ormai IE6 è obsoleto e oltretutto se fai massiccio uso di CSS troverai molta differenza da IE6 a IE7.
Altro discorso è il control adapter che è la capacità dei controlli Aspnet di eseguire render diversi in base al browser, sinceramente non conosco bene nel dettaglio il meccanismo ma so che puoi creartene te se vuoi in base ai controlli che usi però questo è un altro discorso...

Andrea Restucci - Web Developer

trinity Profilo | Guru

Quindi se ho capito bene dovrei creare il mio sito con IE8 e con quel meta se indico la compatibilità con IE8 anche se lo apro con IE9 o 10 o chorme o mozilla si vedrà sempre in modalità IE8?

Ma si può sapere con quale browser viene aperta la pagina?

Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

andrestu Profilo | Expert


si se vuoi che sia compatibile da IE8 in su crealo usando il tag meta e specifica solo IE8, se verrà aperto con IE9 (IE10 non ti so dire) il browser lo visualizzerà in modalità compatibile IE8 (se non ricordo male ci sono anche delle differenze di utilizzo del tag inserendo la parola "compatible") e comunque questo discorso vale soltanto per IE e non per altri browser, per gli altri devi comunque fare dei test durante lo sviluppo della pagina, io ti consiglio di farlo compatibile con IE7 per 2 ragioni, la prima è che ci sono ancora tanti IE7 in circolazione e la seconda è che in questo modo ai quasi la certezza al 99% che si veda bene anche con gli altri browser.
Per quanto mi riguarda io ultimamente non utilizzo il tag meta e durante lo sviluppo faccio test con le diverse modalità da IE7 in su, questo lo puoi fare in diversi modi, o utilizzi per esempio IEtester un sw free dedicato, oppure più semplicemente con la barra di debug di IE9 puoi cambiare modalità in tempo reale.
E comunque come già detto i controlli aspnet (forse non tutti) dovrebbero renderizzare correttamente variando il rendering in base al browser almeno per quel che riguarda IE, personalmente utilizzo poco o niente il rendering utilizzato dai controlli Aspnet più complessi o controlli sviluppati da terzi, tipo Gridview o altri, creo praticamente tutto con Css, html e Listview (con i template), dal mio punto di vista lo svantaggio di questo approccio è che richiede più praticità nell'utilizzare i css e forse più tempo per lo sviluppo, il vantaggio è che hai tutto sotto controllo al 100% in questo modo riesco anche ad integrare più facilmente Jquery (o altro codice client) con i vari elementi della pagina.
Come puoi ben capire è un mondo molto variegato e il bello deve ancora arrivare, ora cè html5 e per quel che mi riguarda non conosco una cippa di come funzioni, spero soltanto che i nuovi browser mantengano ancora per un bel pò la compatibilità al 100% verso il basso.



Andrea Restucci - Web Developer

trinity Profilo | Guru

OK grazie, io ho settatto vb dalle opzioni l'editor di testo in html 5 quindi in teria dovrei già scrivere in questo formato...tanto e vero che ci sono problemi su alcuni tag degli align che non viene riconosciuto

Ciao
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

andrestu Profilo | Expert

scusa non ho capito dove hai impostato html5, io utilizzo VS2010 dove intendi ?

Andrea Restucci - Web Developer

trinity Profilo | Guru

Ho fatto debug---->opzioni ed impostazioni e mi è uscita la finestra come da immagine ed ho impostato lì html5
è sbagliato?


756x441 75Kb


Ciao
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

trinity Profilo | Guru

Non cpaisco perchè aprendo la pagina con Ie 9 o 8 o con chrome appena riduco la visualizzazione della pagina tipo a 30% un div di sinistra esce fuori dall'area della pagina..guarda l'immagine:

immagine originale al 100%

291x581 16Kb


immagine ridotta al 30%

117x229 11Kb


Il div in questione ha questo codice:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

quindi avevo pensato di sfruttare una funzione java ossia la pagina è strutturata in 3 pezzi la barra in alto, il corpo che comprende quel div in questione e la barra in basso....La funzione java prende l'altezza del div in questione e la passa alla posizione del div che contiene la barra in basso in questo modo:

function Height_Div() { var _heightdiv1 = document.getElementById("divleft").offsetHeight; var _positiondiv2 = document.getElementById("under"); _positiondiv2.style.top = (_heightdiv1) + "px"; }

solo che questo io lo eseguo nel page_load non so se c'è un evento che viene generato ogni volta che cambio la risoluzione della pagina

ciao
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

andrestu Profilo | Expert

quel tipo di setting si riferisce al controllo che l'editor fà al codice che scrivi, ma è solo un aiuto, nel senso che ti indica dove ritiene che sia sbagliato il markup in base all'impostazione, è normale dunque che segna errore se metti HTML5 e scrivi tag non HTML5, questo però non credo che interferisce in qualche modo con l'esecuzione della pagina, è giusto un aiuto.
Ovvio che se pensi di scrivere una pagina in HTML5 ti dovrai preoccupare di tutte le versioni dei browser che ancora non supportano l'HTML5 quindi in questo caso potresti adottare diverse soluzioni una delle quali potrebbe essere quella di rilevare a run-time il browser con relativa versione e fornire un css adeguato, compito abbastanza complesso se la pagina ha una struttura complessa.
In ogni caso se non pensi di sfruttare tag nativo HTML5 allora conviene scrivere in html tradizionale e ti semplifichi la vita, il fatto è che attualmente in circolazione ci sono ancora tante versioni di browser che non interpretano HTML5, considera che non tutti aggiornano costantemente il browser all'ultima versione.
Ora non ricordo dove, forse su google, avevo visto un report che indicava le percentuali dei browser e relative versioni utilizzati dai navigatori a livello mondiale, guardandolo ti accorgi che forse scrivere codice che venga interpretato esclusivamente in HTML5 non è una buona idea.
Non so sinceramente se HTML5 sia strutturato in modo da fornire in qualche modo la compatibilità verson il basso senza dover scrivere codice diverso, questo sarebbe interessante scoprirlo, magari lo si può fare...

Andrea Restucci - Web Developer

trinity Profilo | Guru

Senti invece per l'ultimo mio post sulla gestione dell'altezza del div? Pensavo che fosse un problema di altezza div ma invece noto che cambiano le dimensioni delle label, del linkbutton...non so cosa più pensare :( devo almeno renderlo compatibile con Ie 9 e chrome e safari e mozilla :(
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5