2010-07-23 15 views
6

Sto riscontrando alcuni problemi con il nostro vecchio amico IE6. The site I'm working on è per un client del settore pubblico, quindi deve supportare IE6. Il cursore è a posto in IE7 +, Firefox, Safari e Chrome. Ho provato tutto quello che riesco a pensare, ma sto disegnando uno spazio vuoto! Puoi aiutare?jQuery slider e IE6 Issues

IE6 su un PC. IE6 Screen grab http://citywest.bangtest.co.uk/stackoverflow/ie6.png

Chrome su un Mac Chrome on a Mac http://citywest.bangtest.co.uk/stackoverflow/chrome.png

+1

+1 per "disegnare uno spazio vuoto " –

risposta

1

sto vedendo un errore sulla pagina con IE 6, dubugging la pagina con l'editor di script ms mi porta a questo file:

http://citywest.bangtest.co.uk/sites/all/themes/citywest/inc/js/jquery.custom.js

e questa linea:

$().newsTicker(options); 

Posso anche dirvi che più righe $(document).ready( all'interno dello stesso documento js non sono necessarie all'interno di quel file. Dovresti consolidare quelle dichiarazioni.

Ie6 non offre un ottimo modo per eseguire il debug, ma poiché ie6 sta dicendo che hai un errore su quella linea, è un buon posto per iniziare a cercare.

-2

Do not code for IE 6. È un browser obsoleto e l'ultimo sistema operativo con cui è stato spedito era Windows XP. Alcuni dei codici più recenti non funzionano bene con IE6. Se lo fai funzionare, devi creare hack per farlo visualizzare correttamente il codice e impiegare molte ore a farlo. Codice per IE8 e Firefox3 +, utilizzare javascript per rilevare la versione del browser e un messaggio per aggiornare il browser.

+4

@kinijite Suoni come OP non hanno scelta. Probabilmente è obbligatorio nel loro contratto o qualcosa del genere. –

+0

@Peter - risposta perfetta e sì è nel contratto. @Kinjite - IE6 fa schifo ma devo lavorarci su questo lavoro. – Shaun

+1

@Shaun e kinjite: e non utilizzare il rilevamento del browser, utilizzare invece il rilevamento delle funzioni, vedere [Rilevamento delle funzioni non è il rilevamento del browser] (http://www.nczonline.net/blog/2009/12/29/feature-detection -is-non-browser rilevamento /). –

4

Non posso fare a meno di passare al vecchio problema "IE6 hasLayout" (poiché sembra un bug visivo). Potrebbe valere il tuo tempo per controllare i tuoi elementi per assicurarsi che abbiano "hasLayout" - la maggior parte dei problemi di rendering che ho riscontrato per IE6 che "non ha senso" riguardare questa proprietà.

http://www.satzansatz.de/cssd/onhavinglayout.html

Un modo rapido e sporco per vedere se il problema si riferisce a "hasLayout" è quello di aggiungere il non-standard, cioè proprietà CSS proprietaria "zoom: 1;". Questo NON convaliderà, ma garantirà "hasLayout" a qualsiasi elemento a cui è applicato. Basta metterlo su tutti gli elementi coinvolti, e potrebbe risolvere il problema ... Quindi, armati con la soluzione terribile, è possibile capire come renderlo valido :)

/* in your css */ 
.my_box { 
    zoom: 1; 
}