2011-07-26 21 views
16

Hola compañeros desarrolladores,Jquery 1.6.2 Los accidentes IE8 Tabs

Estoy un poco perplejo en este caso como lo he estado usando jQuery 1.6.2 sin problemas hasta hace tres días. (Hubo una actualización de Service Pack en algún momento alrededor de este tiempo)

De todos modos la cuestión es la siguiente:

estoy de codificación en HTML 5 y han sido durante algún tiempo, no hubo ningún problema, pero hace tres días Empecé a actualizar algunos de los sitios web más antiguos. Este sitio web en particular (y algunos otros) requieren una actualización de la versión de JQuery, así que decidí recurrir a la versión 1.6.2 alojada de Google.

Tan pronto como lo hice, mi sitio web comenzó a fallar en mis pestañas IE8. En el sitio web en el que estoy trabajando, el complemento de mi ciclo ya no funciona y, por alguna extraña razón, mi lista UL ahora se pone blanca cuando sobrevivo los enlaces.

Empecé a sacar mi cabello y pensé que tal vez IE8 tenía problemas de compatibilidad con HTML5, así que volví y cambié todas las codificaciones, deshaciéndome de los elementos HTML5 e incluso volviendo a xhtml doctype. Todavía continuó.

Luego revisé el código del complemento, tratando de encontrar a otros que habían tenido los mismos problemas. No hay nada malo allí.

¡Eventualmente saqué el Jquery y el sitio volvió a la normalidad y no bloqueó las pestañas!

He reemplazado la versión 1.6.2 con una versión anterior que tengo por 1.4.3 y parece funcionar bien?

Alguien más tiene problemas con 1.6.2 e IE8 - Como siempre en cualquier otro navegador que pueda tener en mis manos el sitio funciona perfectamente con cualquier versión de JQuery que llame.

Gracias de antemano.

Saludos cordiales

Richard

+0

Va a ser casi imposible de ayudar a menos que proporcione una funda reproducible. Apenas ha dado detalles concretos ... – davin

+0

lo más probable es que sea un problema con los complementos que utiliza ... ¿Las versiones de los complementos son compatibles con jQuery 1.6.2? –

+0

La verdad es que no he comprobado si estos complementos son compatibles. Pero eso no explica por qué cuando saco los complementos y dejo la secuencia de comandos de JQuery 1.6.2 (alojada por Google) todavía cuelga mis pestañas. – Richard

Respuesta

1

creo que tengo un buen ejemplo de caso de prueba aquí de este comportamiento:

http://onpoint.wbur.org/op_full.html

Esta página está instalada la última jQuery, un guión Disqus y no mucho más.

Si visita la página, no se bloqueará. Pero al actualizar la página, IE8 se bloqueará.

Correcciones:

Cualquiera de los siguientes solucionará el accidente:

  • Retire Jquery
  • Eliminar Disqus
  • Retire la declaración de estilo CUERPO completo
  • eliminar sólo la llamada imagen de fondo y en su lugar use el color BG
  • Mueva el bloque de estilo a debajo de la llamada Jquery

Así que hay algo de interacción entre el marcado que el script disqus está incorporando en DOM, Jquery y la regla BODY css en la parte superior.

Muy extraño, pero definitivamente hay un error aquí, ya sea en el marcado de Disqus o en Jquery.

+0

Hola Will, Gracias por la respuesta. Mi única solución hasta el momento es volver a una versión anterior de JQuery. Con mi mano en mi corazón definitivamente puedo decir que es un error en JQuery 1.6.2 para mí. He intentado con diferentes complementos, e incluso sin complementos simplemente dejando la secuencia de comandos 1.6.2 en su lugar y todavía bloquea mis pestañas. La única vez que no bloqueó mis pestañas fue cuando saqué 1.6.2 por completo y lo reemplacé con 1.4.3. ¡Es una para mí!lol ;-p – Richard

+0

Estoy cerrando esto ya que se está volviendo más claro ahora que se trata de un problema de compatibilidad de complementos. Gracias por tu tiempo. – Richard

2

que tenían un problema muy similar con

  • jQuery 1.6.2
  • una imagen de un fondo de facebook como el botón
  • y en el elemento de cuerpo

Como se ha señalado anteriormente jjmontes, eliminar/cambiar cualquiera de los anteriores resolverá el problema. Cambiar el modo IE a un modo de compatibilidad no resolvió el problema, probablemente la forma más fácil de evitar este problema es utilizar una versión más nueva de jQuery. Demo/caso de prueba (ya que lo anterior ya no está en línea) can be seen here.

4

La solución

Es un problema con jQuery la versión 1.6.2 (que era la versión más reciente en el momento de desarrollo). Afortunadamente corrigieron el problema, por lo que la solución final es simple ... Actualice a la última versión de jQuery.