Actualización: Este error ha sido confirmado por al menos otros dos. Incluso si no lee mi publicación completa, si está leyendo esto y está utilizando JQuery 1.3.1, entonces deje de usarlo si confía en los controladores que desea ejecutar cuando el DOM está completo pero antes de las imágenes de la página. he cargadoJQuery está esperando que las imágenes se carguen antes de ejecutar document.ready
Update2: Gracias a Tom (id de usuario 20!) Por publicar la link to the ticket en el seguimiento de errores jQuery.
Update3 - 2009/01/28: El problema se ha resuelto correctamente (para aquellos para los que volver a 1.2.6 no es una opción). Para cualquiera que esté usando 1.3.1 y necesite una solución inmediata, puede leer la dirección de la respuesta aceptada. Gracias John.
Acabo de actualizar a jQuery 1.3.1, y me tomó varias horas para darse cuenta de que mi amado sintaxis
$(function() { ... }
estaba a la espera de toda la página a cargar (incluyendo imágenes) antes de ejecutar el cuerpo de la función. Estaba viendo strange behavior al intentar integrar los menús de Yahoo. (Afortunadamente, tuve algunas imágenes de carga lenta en mi página que me hicieron consciente del problema).
Hice un archivo de prueba porque pensé que algo más complejo estaba pasando, pero todavía tenía los mismos síntomas incluso con este archivo simple.
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"></script>
<script>
$(function() {
alert("Ready");
});
</script>
</head>
<body>
<img src="<PATH_TO_DYNAMIC_IMAGE>_1.jpg" />
<img src="<PATH_TO_DYNAMIC_IMAGE>_2.jpg" />
<img src="<PATH_TO_DYNAMIC_IMAGE>_3.jpg" />
<img src="<PATH_TO_DYNAMIC_IMAGE>_4.jpg" />
</body>
Diferentes versiones de jQuery tuvieron resultados diferentes:
- ¿Qué ocurre en la versión 1.2.6 que es cuadro de alerta se muestra al instante y luego ver las imágenes de cargar detrás de él (esperado y el comportamiento documentado) .
- Lo que sucede en la versión 1.3.1 es que todas las imágenes se cargan y solo entonces se mostrará el cuadro de alerta.
¡Qué pasa! ¿Es esta una nueva característica (no puedo imaginar por qué) o un error?
Importante: Esto sólo parece ser un problema en IE y Firefox no
En este momento no tengo un archivo de imagen dinámica que es accesible públicamente para que sea más fácil para que otros puedan ver esto. Si desea probarlo, le sugiero que use un archivo de imagen grande elegido al azar de las imágenes de Google y borre su caché.
Estoy experimentando el mismo problema EXACTO con la versión más reciente de jQuery. Por favor, mantenga esta pregunta actualizada en base a cualquier comentario que reciba. – Tom
@tom definitivamente lo hará. Envié un correo electrónico y escribí john a resig, quien inicialmente escribió JQuery. Personalmente, no tengo prisa por una corrección de errores (volví a 1.2.6), pero realmente necesitan tomar esa versión como la versión lanzada en jquery.com. –
@Simon - Presenté un boleto esta tarde sobre este problema. Ah, las alegrías del software libre;) Lo arreglarán lo suficientemente pronto, estoy seguro, buenos desarrolladores en el equipo, pero me apena porque no puedo volver a 1.2.6 = T – Tom