javascript $.extend - Problema de jQuery en Internet Explorer 8




$() functions (17)

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.

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í?


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.


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


¡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



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" 

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>

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> 

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.


Escriba "var" antes de las variables, cuando las defina. IE8 muere cuando no hay "var".


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.


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.


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. ;)


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.


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]-->

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í.


Ninguna de estas respuestas aborda lo que entiendo que es la pregunta, que es lo que buscaba, "¿Cómo manejo los elementos que tienen visibility: hidden ?" . Ni :visible ni :hidden manejarán esto, ya que ambos buscan visualización según la documentación. Por lo que pude determinar, no hay ningún selector para manejar la visibilidad de CSS. Aquí es cómo lo resolví (selectores jQuery estándar, puede haber una sintaxis más condensada):

$(".item").each(function() {
    if ($(this).css("visibility") == "hidden") {
        // handle non visible state
    } else {
        // handle visible state
    }
});






javascript jquery internet-explorer-8