2011-09-14 15 views
9

Hay muchas incoherencias DOM/CSS entre los navegadores. Pero, ¿cuántas diferencias básicas de JS hay entre los navegadores? Uno que recientemente me hizo tropezar es que en Firefox, las funciones de devolución de llamada setTimeout pasan un parámetro adicional (https://developer.mozilla.org/en/window.setTimeout).JS cross incoherencias/diferencias

Además, ahora que los navegadores están implementando nuevas funciones (por ejemplo, Array.map), puede ser confuso saber qué puede/no puede usar si está intentando escribir código que debe funcionar en todos los navegadores (incluso a IE6).

¿Existe un sitio web que organice limpiamente este tipo de diferencias?

+0

Uno de los propósitos de jquery es salvar las diferencias entre el navegador y darle al programador una API independiente del navegador. No es una respuesta, sino una buena solución. Además, consulte aquí para obtener una lista de (algunas) diferencias: http://stackoverflow.com/questions/703993/javascript-incompatibilities-inconsistencies –

+2

@Eran, jQuery trata las incoherencias DOM/CSS * ahora * más que las inconsistencias de la idioma * en sí mismo *. –

+0

busque las palabras "es5 shim" si le preocupan las nuevas funciones. – Incognito

Respuesta

5

Encuentro QuirksMode y WebDevout para tener las mejores tablas con respecto a las peculiaridades de CSS y DOM. Puede salvar esas incompatibilidades con jQuery. También hay this great list iniciado por Paul Irish, que incluye prácticamente cualquier polifilmento que pueda necesitar, incluidos los métodos ES5 como Array.map.

1

Bueno, voy a abrir un CW:

+0

Hay un montón de cosas, como muchos métodos de Array que irían para muchos navegadores. –

+0

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

1

No parece haber nada por ahí que describa claramente todos estos problemas (muy sorprendente en realidad). Si usa jQuery, hay un buen browser compatibility doc section que describe navegadores compatibles y problemas conocidos. Solo me ocupo de los problemas a medida que surgen (ya que de todas maneras debería probar el navegador en todos los casos) y puede documentarlos si quiere asegurarse de que está codificando correctamente o si tiene problemas y necesita soluciones. Es fácil encontrar problemas cuando hace una búsqueda rápida de un tema en particular.