2011-06-21 9 views
12

¿Existe un problema conocido con IE (7 y 8) donde jquery .load() no funciona correctamente? Mi CSS no se está cargando en la página. Aquí está mi código:Problema con CSS y .load() jquery en IE

Este es el archivo que está siendo cargado (show_profile.php):

<!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> 
<link rel="stylesheet" script="text/css" href="profile.css" /> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
<title>Untitled Document</title> 
</head> 

<body> 

<div id="tabs"><div id="cd" class="tab_active">Contact Details</div> 
</div> 
</body> 
</html> 

Este es el código para profile.css

#tabs { 
color:white; 
font-family:Verdana; 
font-size:14px; 
} 

#cd{ 
position:absolute; 
left:0px; 
top:0px; 
background-color:#3172A6; 
} 
.tab { 
position:absolute; 
top:0px; 
} 
.tab_active { 
position:absolute; 
top:0px; 
} 

Al ver el archivo show_profile .php de forma independiente, todo lo que incluye el CSS está bien, pero solo no funciona cuando uso .load()

Ayuda :(

+1

¿En qué se lo está cargando? Un elemento existente? Tal vez deberías usar 'load ('show_profile.php body')' y luego cargar el CSS por separado. – alex

+0

Gracias por responder alex. load ('show_profile.php body') no parece cargar nada ahora. – Anant

+0

@alex y la cosa es que mi código funciona perfectamente con Google Chrome y Firefox – Anant

Respuesta

6

El css procede de un encabezado del documento principal, no importa lo que esté cargando. Puede usar el estilo en línea en la página que está cargando usando load (0 o especificar el estilo en algunos CSS (o usar etiquetas de estilo) en el documento que lo carga.

+0

gracias por la respuesta. trabajos de estilo en línea, pero incluso si cambio el contenido de profile.css a la parte del encabezado del archivo en el que se está cargando show_profile.php, no parece tener ningún efecto en absoluto: | – Anant

+0

@AR y mi código funciona perfectamente con otros navegadores, por lo que cualquier forma de evitar esto con IE? Gracias – Anant

+0

Eche un vistazo aquí http://stackoverflow.com/questions/5186638/how-to-asynchronously-load-css-using-jquery - tal vez al agregar el enlace css volará, no estoy seguro. También eche un vistazo a la segunda respuesta aquí: http://stackoverflow.com/questions/805384/how-to-apply-inline-and-or-external-css-loaded-dynamically-with-jquery Uso el estilo en línea para las páginas cargué usando (cargar) y no tengo ningún encabezado ni etiquetas corporales o html para ellos, solo divs y esas cosas. –

2

La respuesta proporcionada es correcta en su totalidad. El problema es porque tienes una página (llámala A.php) que está cargando esta página (B.php) y la hoja de estilo que deseas está solo en la lista en B.php. Esto funciona en otros navegadores porque son un poco más .. indulgente con lo que permiten en el DOM IE es muy estricto en lo que hace y no hace con esto la respuesta es incluir en <link rel="stylesheet" script="text/css" href="profile.css" /> A.php

1

el elemento link no tiene un atributo script - lo que debería ser type="text/css".