javascript - example - Problema de jQuery en Internet Explorer 8
jquery functions (20)
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í?
¡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
¿Tal vez tienes activado el filtrado privado ?
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]-->
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"
Creo que tienes el mismo problema que yo:
Message: Permission denied
Line: 13
Char: 27021
Code: 0
URI: http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.3.2.min.js
Debido a la referencia de dominio cruzado. Intenta alojar jquery.js en el mismo dominio.
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.
El evento de carga no siempre funciona en IE7 / 8 en <head> ... </head>
Puede forzarlo agregando un script de onload al final de su página antes de la etiqueta como se muestra a continuación.
<script>
window.onload();
</script>
</body>
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. ;)
Escriba "var" antes de las variables, cuando las defina. IE8 muere cuando no hay "var".
Estaba arreglando una plantilla creada por otra persona que olvidó incluir el tipo de documento.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Si no declaras el tipo de doctype
IE8 hace cosas extrañas en el modo Quirks.
Estaba teniendo un problema similar. Las cosas funcionaron en IE6, Firefox e IE8 corriendo en modo de compatibilidad con IE7; pero no en IE8 "normal". Mi solución fue poner este código en el encabezado
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
En cuanto a por qué jquery no está funcionando en IE8 no estoy seguro.
Esto solucionó mi problema en IE8:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
Ejecutando en localhost, tuve que cambiar el https: // a http: //
Si trato de navegar hacia el enlace seguro, obtengo que Internet Explorer no puede mostrar la advertencia amistosa de la página web .
Siempre trate de cargar sus scripts de texto en una nave de búsqueda primero si hay problemas.
La solución en mi caso fue eliminar los caracteres especiales de la URL a la que intenta acceder. Tuve una tilde (~) y un símbolo de porcentaje allí, y la llamada $ .get () falló silenciosamente.
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í.
Si está utilizando HTTPS en su sitio, deberá cargar la biblioteca jQuery desde el servidor https de Googles. Pruebe esto: https://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js (o la última https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js )
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>
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.
Tuve el mismo problema. La solución fue agregar el enlace al archivo JQuery como un sitio confiable en IE.
Tuve este problema y probé las soluciones mencionadas aquí sin éxito.
Eventualmente, me di cuenta de que estaba vinculando la versión del script de Google CDN usando una http URL
mientras que la página que incluía el script era una https page
.
Esto provocó que IE no cargara jquery (le indica al usuario si solo desea cargar contenido seguro). Cambiar el URL de Google CDN para usar el esquema https me solucionó el problema.
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>