[javascript] Problema de jQuery en Internet Explorer 8



9 Answers

Corrección:

Compruebe la etiqueta de incluir script, ¿está utilizando

type="application/javascript" src="/path/to/jquery" 

cambiar a

type="text/javascript" src="/path/to/jquery" 
Question

Estoy intentando que mis funciones jQuery funcionen en IE8. Estoy cargando la biblioteca desde los servidores de Google ( http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js ).

El $(function(){}) nunca se llama. En cambio, obtengo un error Object expected . Abrí el desarrollador y ejecuté typeof $ en la consola, y apareció como undefined .

He intentado ir a otros sitios que conozco que usan jQuery (jquery.com), y todos funcionan, ¿hay algo que me pueda estar perdiendo aquí?




En resumen, es por el motor de análisis IE8.

¿Adivina por qué Microsoft tiene problemas para trabajar con las nuevas etiquetas HTML5 (como "sección") también? Es porque MS decidió que no usarían el análisis XML regular, como el resto del mundo. Sí, así es, hicieron una tonelada de propaganda en XML, pero al final, recurren a un motor de análisis "estúpido" en busca de "etiquetas conocidas" y desordenan cosas cuando algo nuevo se presenta.

Lo mismo vale para IE8 y el problema de jquery con "carga", "obtener" y "publicar". Nuevamente, Microsoft decidió "caminar por su propio camino" con la versión 8. Esperando que resuelvan (d) esto en IE9, la única opción actual es recurrir al análisis de IE7 con <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /> .

Oh, bueno ... qué sorpresa que Microsoft nos haya hecho publicar cosas en foros otra vez. ;)




Algunas personas que tropiezan con esta publicación podrían tener este problema con jquery e IE8 porque están usando> = jQuery v2. Usa este código:

<!--[if lt IE 9]>
    <script src="jquery-1.9.0.js"></script>
<![endif]-->
<!--[if gte IE 9]><!-->
    <script src="jquery-2.0.0.js"></script>
<!--<![endif]-->



Tenía los mismos problemas.

Lo resolví comprobando que IE8 no estaba configurado correctamente para llegar a la URL de SRC.

Cambié esto, funciona bien.




La solución es actualizar a la última versión de jQuery. Tuve exactamente el mismo problema y me actualicé a 1.4.2 y todo vuelve a funcionar bien en IE8.

Parece ser totalmente retrocompatible con todas las cosas de jQuery 1.3.2 que hice así que no tengo quejas aquí.




jQuery no se está cargando, esto probablemente no sea específico de IE8. Verifique la ruta en su jQuery include. declaración. O mejor aún, use lo siguiente para CDN:

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js">
</script>



Tal vez insertes dos scripts, debería funcionar.

<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE8.js"></script>  
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js">/script> 



Tuve el mismo problema. La solución fue agregar el enlace al archivo JQuery como un sitio confiable en IE.




El error Object expected se plantea porque Jquery no está cargado. Esto sucede debido a la seguridad del navegador (generalmente IE) que no le permite ejecutar código fuente externo de JavaScript. Puede corregir este problema por:

  • 1: Cambiar el nivel de seguridad del navegador para permitir la ejecución de código javascript externo. Puede encontrar cómo hacer esto aquí

O

  • 2: copie y pegue el código fuente de jquery en su página web para que no se considere como una secuencia de comandos externa.

Prefiero la primera solución.




¡DE ACUERDO! Sé que jQuery se está cargando. Sé que jQuery.textshadow.js está cargando. Puedo encontrar las dos secuencias de comandos en Herramientas de desarrollo.

La parte extraña: este código funciona en el área de contenido pero no en el banner. Incluso con un fixIE.css dedicado. Y funciona cuando pongo el CSS en línea. (Eso, por supuesto, arruina FireFox).

Incluso he puesto un lapso de IE condicional alrededor del campo de texto en el banner sin suerte.

No encontré ninguna diferencia y tuve los mismos errores tanto en jquery-1.4.2.min.js como en jquery-1.2.6.min.js . jquery.textshadow.js se descargó del sitio jQuery al intentar encontrar una solución a este problema.

Esto no está publicado en el sitio web






Related