Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/10/2009, 05:34
Avatar de Maicro
Maicro
 
Fecha de Ingreso: agosto-2009
Ubicación: En el imperio de Gallardón I
Mensajes: 203
Antigüedad: 14 años, 9 meses
Puntos: 2
Pregunta Incompatibilidad de JavaScript con GoogleMaps.

Hola buenas. Por delante anuncio que no tengo ni idea de JavaScript y me limito a copiar, modificando a mis necesidades, el código que la gente cuelga en los tutoriales. Por ello he llegado a este punto donde no sé cómo solucionarlo y, por favor, pido vuestra ayuda.

En la página que le estoy haciendo a un amigo sobre su negocio, en el apartado de Localización, he insertado un mapplets de Google mediante un iframe. Pero los comentarios de los expertos de por aquí desaconsejan el uso del iframe, entre otras razones por los problemas que presenta al validar.

Por ello estaba insertándolo en una simple capa. Sin embargo, los navegadores no me sacaban el mapa en la página. Eliminando código por partes encontré que la incompatibilidad está con el JavaScript que me saca la hora en pantalla. Os muestro el código.

Código:
<div id="hora">
	<span id="liveclock"></span>
	<script type="text/javascript" src="js/hora.js"></script>
</div>
Y el JavaScript de hora.js.

Código:
	function show5(){
		if (!document.layers&&!document.all&&!document.getElementById)
		return

		var Digital=new Date()
		var hours=Digital.getHours()
		var minutes=Digital.getMinutes()
		var seconds=Digital.getSeconds()

		var dn="PM"
		if (hours<12)
		dn="AM"
		if (hours>12)
		//Quitado para hacer 24H >hours=hours-12< //
		if (hours==0)
		hours=12

		if (minutes<=9)
		minutes="0"+minutes
		if (seconds<=9)
		seconds="0"+seconds
		myclock=""+hours+":"+minutes+":"+seconds+""	//Quitado > "+dn+"< para no poner AM/PM
		if (document.layers){
			document.layers.liveclock.document.write(myclock)
			document.layers.liveclock.document.close()
		}
		else if (document.all)
		liveclock.innerHTML=myclock
		else if (document.getElementById)
		document.getElementById("liveclock").innerHTML=myclock
		setTimeout("show5()",1000)
	}
window.onload=show5
El mapa lo muestro en la página con este código:

Código:
<div id="map"></div>
Con este estilo:

Código:
#map {
	float: right;
	margin: 10px 20px 10px 20px;
	width: 400px;
	height: 200px;
}
Por favor, ¿se os ocurre qué puedo cambiar para solucionar la incompatibilidad? ¿O es mejor que mantenga el mapa en un iframe con el error del validador?

Muchas gracias por vuestro tiempo. Saludos.