Problema de IE (la función no se llama document.ready)

He estado analizando todas las otras preguntas sobre los desafíos de IE, pero no estoy más cerca de entender por qué mi función Ajax se llama en Chrome y Firefox pero no en IE8.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title></title>
<script src="/jQuery/jQuery.js" type="text/javascript"></script>
</head>
<body>
<div id="messageList"> </div>
<script>
$(document).ready(function(){
    loadMessages();

}); 
function loadMessages() {
      var myInbox = "https://x/SecComm/ajax_inboxResults.cfm?folderID=0";
      $.get(myInbox,function(data){
          $("#messageList").html(data);
      });

  }
</script>
</body>
</html>

Estoy seguro de que estoy haciendo algo realmente estúpido, pero como solo he estado en esto una semana más o menos, ¡estoy un poco perplejo!

Esperando la llegada de "Irene", gracias por tu tiempo, KW

preguntado el 27 de agosto de 11 a las 19:08

debe llamarse en IE8: ¿está seguro de que no es solo un error de JavaScript debido a la primera línea en loadMessages() ? -

Son los <cfoutput> etiquetas intencionales? Además, puedes usar Herramientas para desarrolladores de IE (F12) para depurar y ver si no se está llamando o si loadMessages está provocando un error, ¿lo ha hecho? -

2 Respuestas

No estoy familiarizado con lo que <cfoutput> lo hace, pero eso parece ser lo único no estándar en su código, por lo que quizás eso esté causando el problema.

¿Puedes hacer una prueba sin esa pieza para ver si funciona?

En general, la forma de depurar en IE es simplemente comentando partes del código para ver si elimina el error. Una vez que haya encontrado la pieza que está causando el error, finalmente puede comenzar a solucionarlo.

Respondido 28 ago 11, 00:08

Ese último párrafo está mal, mira aquí. - Grant Thomas

Apoyo eso: has dejado un fragmento de código de ColdFusion allí. Solo mire en las Herramientas de desarrollador (F12 para IE8 y superior) y debería ver un error de sintaxis en la primera línea de la función loadMessages. - Chico de tecnología itinerante

Gracias por echar un vistazo. los es solo una etiqueta de coldfusion que inserta una dinámica en la llamada ajax. Lo saqué y lo reemplacé: todavía no tuve suerte, probaré las herramientas de desarrollo de IE y veré si puedo encontrar más información útil. gracias de nuevo - Kerrie

Amigos, soy un idiota. Estoy probando en la computadora portátil de mi casa. Es ie7 con el que estoy teniendo problemas. - Kerrie

@Señor. Decepción: Mi método elegido para depurar en IE puede no ser el mismo que el suyo, pero no es "incorrecto". Las herramientas de desarrollador de IE están lejos de ser excelentes, y generalmente me resulta más fácil y mucho más rápido depurar errores de JS utilizando el método que describí. - Maxedison

La última vez que tuve un problema con IE que no activaba el evento de documento listo, fue porque había javascript en línea en la página que agregó un flash swf al DOM (esto hace llorar a IE). Si está cargando swfs en su página, usaría una biblioteca como swfobject.

Respondido 28 ago 11, 00:08

Hola amigos, gracias de nuevo por su tiempo. Lo he reducido al mínimo (ver código actualizado). No obtengo errores de javascript en IE, simplemente no obtengo nada de la llamada ajax (lo hago en chrome / firefox). ¿Algo más en lo que alguien pueda pensar? - Kerrie

Los guiones están funcionando. Acabo de modificar la llamada ajax a una plantilla que incluye la palabra "hola" y fue devuelta con éxito por ie7. debe tener el formato de los datos devueltos. gracias a todos ustedes. (y si alguno de ustedes está en la costa este, ¡manténgase a salvo!) - Kerrie

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.