2009-08-05 12 views
5

Tengo una página compleja de ASP.NET que hace uso intensivo de jquery para la manipulación de DOM (sin AJAX). La página es más rápida en los navegadores basados ​​en Mozilla (Firefox) en comparación con IE 7 u 8.¿Por qué es Jquery más lento en IE?

¿Hay algunas funciones optimizadas para FF?

+0

Usted ha declarado en su pregunta que es más lento, por lo que he editado el título para reflejar mejor el quid de su pregunta. –

Respuesta

8

El poder está en el motor de procesamiento de JavaScript. A diferencia del procesamiento en el servidor (PHP, ASP.net), javascript es del lado del cliente, lo que significa que el navegador de todos los visitantes tiene que hacer el trabajo de renderizar la página. Los competidores intentan hacer que las personas cambien a su navegador al jactarse de un procesamiento más rápido de cosas como javascript.

Esto lleva a que todos los navegadores tengan sus propios motores de procesamiento. Lo que hace que algunos navegadores sean más lentos. IE:

Internet Explorer no utiliza el motor de Mozilla, por lo que es considerablemente más lento que Firefox. Internet Explorer es conocido como uno de los motores más lentos de todos los principales navegadores.

Firefox es más lento que Chrome, que posee uno de los motores Javascript más avanzados (una versión modificada de Webkit).

Safari Creo que es actualmente el motor de renderizado más rápido que hay.

Puede ver más estadísticas sobre este artículo de PCWorld y here

+2

Safari y Chrome tienen el mismo motor de representación, webkit. La diferencia son los motores de JavaScript (que son diferentes de los motores de procesamiento). – scheibk

7

Bueno, el motor de JavaScript en sí mismo es más rápido en Firefox, por lo que naturalmente se extendería a jQuery siendo más rápido.

 
Web Browser    Average Runtime  Relative 
-----------    ---------------  -------- 
Safari 4.0.2 (530.19.1)  169   1x (fastest) 
Chrome 2.0.172.33    349   2.1x slower 
Firefox 3.5     377   2.2x slower 
Opera 9.64 (10487)    442   2.6x slower 
IE 8.0       771   4.6x slower 

Fuente: http://celtickane.com/labs/web-browser-javascript-benchmark/

3

No es que las cosas están optimizados para FireFox, es que el intérprete de JavaScript en Firefox es muy optimizado como son los motores en Safari y Chrome. Microsoft ha descuidado el desarrollo de navegadores por algún tiempo desde que ganó las guerras de los navegadores y solo recientemente comenzaron a abordar problemas de rendimiento en IE8 debido a su pérdida de cuota de mercado.

Here's how things looked for jQuery on various browsers in Sept. 2008. En el primer gráfico, esa barra azul alta, la que es más alta que todas las demás combinadas, es IE7. Eso resume el rendimiento de JavaScript en IE.