2011-09-14 12 views
9

Ci sono molte incoerenze tra DOM e CSS tra i browser. Ma quante differenze di JS sono presenti tra i browser? Uno che mi ha recentemente inciampato è che in Firefox, le funzioni di callback setTimeout hanno superato un parametro extra (https://developer.mozilla.org/en/window.setTimeout).Incoerenze/differenze cross-browser JS

Inoltre, ora che i browser implementano nuove funzioni (ad es. Array.map), può essere fonte di confusione sapere cosa è possibile/non utilizzare se si sta tentando di scrivere codice che deve funzionare su tutti i browser (anche dietro a IE6).

C'è un sito Web che organizza in modo pulito questi tipi di differenze?

+0

Uno degli scopi di jquery è quello di collegare le differenze tra il browser e fornire al programmatore un'API indipendente dal browser. Non è una risposta, ma una buona soluzione. Inoltre, vedere qui per un elenco di (alcune) differenze: http://stackoverflow.com/questions/703993/javascript-incompatibility-inconsistencies –

+2

@Eran, indirizzi jQuery incoerenze DOM/CSS * molto * più delle incoerenze del lingua * stessa *. –

+0

Google per le parole "es5 shim" se sei preoccupato per le nuove funzionalità. – Incognito

risposta

5

Io trovo QuirksMode e WebDevout per avere le migliori tabelle riguardanti i quirk CSS e DOM. Puoi colmare tali incompatibilità con jQuery. C'è anche this great list avviato da Paul Irish che include praticamente tutto il polyfill di cui potresti mai aver bisogno, inclusi quelli per i metodi ES5 come Array.map.

1

Beh, ho intenzione di aprire un CW:

+0

C'è un sacco di cose, come un sacco di metodi di array che andrebbero lì per molti browser. –

+0

http://blog.stackoverflow.com/2011/08/the-future-of-community-wiki/ – Incognito

1

Non sembra esserci nulla di fuori che chiaramente delinea tutti questi aspetti (molto sorprendente in realtà). Se usi jQuery c'è un bel browser compatibility doc section che delinea browser supportati e problemi noti. Mi occupo solo dei problemi man mano che escono (come dovresti fare il test del browser in ogni caso) e puoi documentarli se vuoi assicurarti di essere codificato correttamente o se ti imbattono in problemi e hai bisogno di conoscere le correzioni. È facile trovare problemi quando si effettua una ricerca rapida su un determinato argomento.

Problemi correlati