Foros del Web » Programando para Internet » Javascript »

Problema visualizacion exolorer vs demás

Estas en el tema de Problema visualizacion exolorer vs demás en el foro de Javascript en Foros del Web. Buenas a todos, primero mis conocimientos de javascript son extremadamente limitados, así que pido paciencia al respetable :) Bien, estoy haciendo una web: www.design4you.es donde ...
  #1 (permalink)  
Antiguo 22/03/2011, 09:25
 
Fecha de Ingreso: enero-2007
Mensajes: 64
Antigüedad: 17 años, 3 meses
Puntos: 1
Problema visualizacion exolorer vs demás

Buenas a todos, primero mis conocimientos de javascript son extremadamente limitados, así que pido paciencia al respetable :)

Bien, estoy haciendo una web: www.design4you.es donde al pinchar sobre cualquier trabajo, se despliega un div y en la parte superior derecha aparece un icono de cierre con la leyenda de cerrar trabajo. Pero ese cierre no se ve en explorer. Esa etiqueta <p> con su id=close-project está generada mediante una función js en master.js:

Código:
function setupCloseProjectButton() {
	$("#work > header").append("<p id=\"close-project\"><a href=\"#index\">Cerrar Proyecto</a></p>");
	$("#close-project").click(function() {
		hideWorkDetails();
	});
}
Al sacar este código y crear un div directamente en html también genera problemas y para no enfrascarme con las css quisiera saber si tiene una solución fácil en js.

Muchas gracias de antemano a todos
  #2 (permalink)  
Antiguo 22/03/2011, 09:40
Avatar de Naahuel  
Fecha de Ingreso: marzo-2011
Ubicación: localhost
Mensajes: 796
Antigüedad: 13 años, 1 mes
Puntos: 192
Respuesta: Problema visualizacion exolorer vs demás

¿Te referís a IE9? Lo que yo observo es que estás usando la etiqueta <header> (la cual es de HTML5) pero en tu doctype has especificado que usas XHTML 1.0 Transitional.

Tal vez tenga que ver con eso. Intentá reemplazar <header> por un div con alguna clase/ID.

En IE8 (WinXP) el cuadro que se levanta al cliquear en un trabajo se ve totalmente mal. Yo creo que vas a tener que solucionar tus asuntos con CSS más que con JS :P
  #3 (permalink)  
Antiguo 22/03/2011, 10:08
 
Fecha de Ingreso: enero-2007
Mensajes: 64
Antigüedad: 17 años, 3 meses
Puntos: 1
Respuesta: Problema visualizacion exolorer vs demás

Muchas gracias por tu pronta respuesta, esta noche o mañana por la mañana ya con tiempo voy a probar lo que me comentas a ver si soluciono el tema, ya te cuento :)
  #4 (permalink)  
Antiguo 22/03/2011, 16:04
 
Fecha de Ingreso: enero-2007
Mensajes: 64
Antigüedad: 17 años, 3 meses
Puntos: 1
Respuesta: Problema visualizacion exolorer vs demás

No era esa la solución, supongo que tampoco hubiera salido el nombre del proyecto al estar también dentro del header.

El tema del div mal colocado en IE8 lo tenía solucionado en local, pero ya he actualizado las css para que se vea bien en el servidor.

Seguiré probando cosas. Muchas gracias
  #5 (permalink)  
Antiguo 23/03/2011, 02:56
 
Fecha de Ingreso: enero-2007
Mensajes: 64
Antigüedad: 17 años, 3 meses
Puntos: 1
Respuesta: Problema visualizacion exolorer vs demás

Lo solucioné de otra manera, metiendo un poco más de js.
He creado un div con visivility:hidden y una función que oculta o muestra dicho div.
Solo para ie.

No era la solución que buscaba ni quería..... pero funciona.
  #6 (permalink)  
Antiguo 23/03/2011, 06:26
Avatar de Naahuel  
Fecha de Ingreso: marzo-2011
Ubicación: localhost
Mensajes: 796
Antigüedad: 13 años, 1 mes
Puntos: 192
Respuesta: Problema visualizacion exolorer vs demás

Pues yo voy a insistir con que el error es en usar <header> que, de nuevo, es una etiqueta perteneciente a HTML5. Si uno intenta con jQuery en IE tratar de obtener un elemento que no está definido, IE da el error:
Cita:
[IE8] Mensaje: Llamada inesperada a un método o a un acceso de propiedad.
Ejemplo:
Código HTML:
<!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>
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js'></script> 
<script type="text/javascript">
	$(function(){
		$('header').html('header: <p>En IE no se lee este texto</p>');
		$('section').html('section: <p>En IE no se lee este texto</p>');
	});
</script>
</head>

<body>
	<header></header>
	<section></section>
</body>
</html> 
Eso funciona en la mayoría de los navegadores modernos pero NO FUCIONARÁ en IE, pues jQuery no puede obtener el elemento HEADER. Es incorrecto utilizar esos elementos con ese DOCTYPE.

Si vas a utilizar elementos de HTML5 en navegadores obsoletos (más precisamente IE) podés usar este método:

Código HTML:
<!DOCTYPE html> 
<html> 
<head>
<!--[if IE]>
  <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js'></script> 
<script type="text/javascript">
	$(function(){
		$('header').html('header: <p>En IE no se lee este texto</p>');
		$('section').html('section: <p>En IE no se lee este texto</p>');
	});
</script>
</head>

<body>
	<header></header>
	<section></section>
</body>
</html> 
Observá el código condicional para IE y el cambio del DOCTYPE. Eso SI FUNCIONA en IE (IE6 para arriba).

Probá cambiando el DOCTYPE y utlizando el html5.js como te he mostrado. Es más correcto.
Un saludo.

Etiquetas: visualizacion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:27.