2012-04-19 18 views
15

Entonces, todo el mundo sabe ie9.js (desde http://code.google.com/p/ie7-js/). Parece que funciona, pero nunca salió de la versión beta desde la última versión en 2010.ie9-js - ¿tiene algo más que lo hace obsoleto?

Obviamente, hay algunas otras cosas que hacen algo similar (como modernizr, html5shiv y CSS3Pie), pero no son más o menos lo mismo (no menos importante porque deben aplicarse por función o tienen un alcance más limitado).

¿Todavía se considera una buena práctica usarlo para la modernización? ¿Debería estar usando algo más?

Respuesta

14

ie9.js sigue siendo una buena pieza de código. Hace un lote de trabajo, arreglando cosas que IE se equivoca.

Como lo señala con razón, ahora es una pieza antigua de código, pero todavía funciona.

razones por las que no podía estar usándolo mucho más:

  • ie9.js es una sola polyfill grande. Eso lo hace voluminoso y lento. Si solo necesita corregir ciertas características específicas, puede ser excesivo; algunos parches más pequeños pueden ser mejores.
  • La mayor parte de las correcciones que ie9.js hace son para IE6. Menos y menos sitios se están molestando para soportar IE6 más, por lo que todo ese código es redundante. Nuevamente, algunos parches más pequeños pueden ser mejores.
  • ie9.js ya no se mantiene activamente. Está bien, porque hace el trabajo que se propuso hacer, pero otros parches más nuevos están generando más interés, tanto porque son nuevos como por cualquier ventaja que puedan tener.

De las herramientas que mencionas como alternativas (modernizr, html5shiv, CSS3Pie), ninguna de ellas tiene ninguna característica cruzada con ie9.js. (Ver también this answer)

Sin embargo, aquí están algunas de las herramientas más recientes que podrían ser buenas alternativas para ie9.js:

  • jQuery - o una de las otras bibliotecas similares. Esto hace mucho más que arreglar los agujeros de IE, pero debido a que es un punto de compatibilidad entre navegadores, incluso en IE6, si está escribiendo código jQuery, hay muy poca necesidad de los parches de Javascript proporcionados por ie9.js
  • Selectivzr - este es probablemente el principal. Es un polyfill para la mayoría de los selectores CSS faltantes que IE no admite. ie9.js hace algunos más (a saber, selectores relacionales para IE6 & 7), pero Selectivzr usa motores de selector preexistentes (su elección de jQuery, Prototype, etc.), lo que significa que es muy rápido y liviano porque hace uso de los recursos que ya están cargados

Teniendo en cuenta que la gran mayoría de código JS en el navegador está escrito utilizando jQuery estos días, esto reduce básicamente la necesidad de un parche de IE-fijador que todo lo abarca, como ie9.js hasta prácticamente cero.

Sin embargo, si no está utilizando jQuery o una biblioteca similar, entonces es posible que ie9.js todavía funcione para usted muy bien.

Cuestiones relacionadas