2011-08-25 33 views
6

Google está lleno de esta pregunta, pero ninguna de las otras páginas me ayuda.jquery load() no funciona en absoluto en IE8

He intentado cambiar las versiones de jquery, he intentado hacer todo el var $ j = jQuery.noConflict(); intenté reorganizar las secuencias de comandos JS/jquery, intenté la opción de no almacenamiento en caché sugerida por el sitio web jquery pero todavía mi carga() no no funciona

<a onclick="loadCont('canyou.php');">Can you help us</a> 


function loadCont(file){ 
$j("#maincont").load(file); 
alert(file); 
return false; 
} 

Como siempre, se carga en todos los demás navegadores excepto IE8. El alart() está ahí para la depuración IE8, y el archivo se pasa con éxito, simplemente no se carga en #maincont

Cualquier ayuda sobre el código o las respuestas apreciadas. Gracias

+0

¿Ve un golpe en el servidor cuando prueba esto en IE8? –

+0

¿cómo puedo probar/ver eso? – ben

+0

Mire el registro de acceso del servidor. –

Respuesta

1

Intente configurar esto de una manera diferente. Use el siguiente código y vea si obtiene algún resultado.

HTML

<!-- link with ajax target in href --> 
<a class="loadlink" href="canyou.php">Can you help us</a> 

jQuery

<html> 
<head><title>can you</title></head> 
<body> 
    <!-- we only want to load content from this div --> 
    <div id="content">This is the only content we want returned...</div> 
</body> 
</html> 

EDITAR

Si canyou.php contiene un esqueleto HTML completa con etiquetas <html> y <body> entonces usted debe tener jQuery omita sólo el HTML que quieres de esa página y descarta el resto (no quieres empujar <html> o <body> etiquetas en su div #maincont). Puede hacer que jQuery haga esto agregando un espacio y luego un selector después del parámetro URL en el método load(). He aquí un ejemplo del HTML:

<html> 
<head><title>can you</title></head> 
<body> 

    <div id="content"> 
     This is the only content we want returned... 
    </div> 
</body> 
</html> 

Esto es lo que la nueva llamada de carga se vería así:

$('#maincont').load($(this).attr('href') + ' #content'); // Only get the content in #content div 
+0

no hay suerte con eso, simplemente carga la página de contenido "canyou.php" en la misma ventana – ben

+0

Es canyou.php un documento HTMl completo con doctype/html/body tags? Si es así, creo que me he encontrado con este problema antes. Por favor revisa mi respuesta actualizada y déjame ahora si eso resuelve el problema. –

+0

, no obstante, no va, solo carga directamente en la misma ventana. – ben

0

la letra j entre $ y (. ¿es normal?

es que no $("#maincont").load(file);

utilizo carga con IE8 ... funciona bien personalmente

0

Yo Bro. Olvidó e.preventDefault();

Si usted quiere tener un enlace a abrir en un div en su página actual , por ejemplo:

<a class="loadlink" href="canyou.php">Can you help us</a>

Su jQuery debe tener este aspecto ::

$("a.loadlink").click(function(e){ 
e.preventDefault(); //this prevents the redirect that the <a> tag makes on default 

// then enter the rest of your jQuery here: 
var file = $(this).attr("href"); 
$("#maincont").load(file); 
}); 

Eso debería funcionar 'plug-n-play'.

Cuestiones relacionadas