Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Adaptar a navegadores modernos una página hecha hace años para IE7

Estas en el tema de Adaptar a navegadores modernos una página hecha hace años para IE7 en el foro de Javascript en Foros del Web. Buenos días, Intentaré ser breve. Hace 8 años hice un curso de desarrollo web que incluía javascript y por aquel entonces hice una especie de ...
  #1 (permalink)  
Antiguo 13/12/2014, 12:35
 
Fecha de Ingreso: diciembre-2014
Mensajes: 4
Antigüedad: 9 años, 4 meses
Puntos: 0
Pregunta Adaptar a navegadores modernos una página hecha hace años para IE7

Buenos días,

Intentaré ser breve. Hace 8 años hice un curso de desarrollo web que incluía javascript y por aquel entonces hice una especie de juego de carreras de caballos que, de aquella, funcionaba en Internet Explorer 7. Hoy en día sin embargo no funciona en ningún navegador moderno.

No he vuelto a tocar javascript por lo que lo tengo bastante olvidado, pero con Firebug he podido ver cuál es el fallo (al menos el primero de ellos, lo mismo aparecen más al solucionar este) que me está dando.

En este trozo de código me dice que p is null:

Código Javascript:
Ver original
  1. p=findDOM("tiempouno",0);
  2. ...
  3. p.value=total1;

La función findDOM la usaba para determinar la forma de recuperar un elemento según el navegador en el que se ejecutase, y es esta:

[URL="http://pastebin.com/fVauWhPA"]http://pastebin.com/fVauWhPA[/URL]

Y "tiempouno" es un textbox de un formulario declarado de esta forma:

Código HTML:
<td><input type="text" name="tiempouno" disabled>ms</td> 
¿Alguna idea de lo que puede estar pasando? Si se necesita el código entero lo subo sin problemas, pero es algo largo así que he preferido empezar con esto a ver si es suficiente y os ahorro buscar entre 400 lineas.

Gracias de antemano.
  #2 (permalink)  
Antiguo 13/12/2014, 13:27
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 8 meses
Puntos: 578
Respuesta: Adaptar a navegadores modernos una página hecha hace años para IE7

Yo dejaría de dar soporte a navegadores tan antiguos, y empezaría a utilizar el DOM de la W3C.
  #3 (permalink)  
Antiguo 13/12/2014, 18:16
 
Fecha de Ingreso: diciembre-2014
Mensajes: 4
Antigüedad: 9 años, 4 meses
Puntos: 0
Respuesta: Adaptar a navegadores modernos una página hecha hace años para IE7

Cita:
Iniciado por PHPeros Ver Mensaje
Yo dejaría de dar soporte a navegadores tan antiguos, y empezaría a utilizar el [URL="https://developer.mozilla.org/en-US/docs/Using_Web_Standards_in_your_Web_Pages/Using_the_W3C_DOM"][B]DOM de la W3C[/B][/URL].
No es mi intención darles soporte ni mucho menos a los navegadores antiguos, son simplemente los que existían cuando hice esa página.

Probaré de todas formas a sustituir las llamadas a la función findDOM por getElementById a ver si con eso consigo que funcione en navegadores actuales.
  #4 (permalink)  
Antiguo 14/12/2014, 09:57
 
Fecha de Ingreso: diciembre-2014
Mensajes: 4
Antigüedad: 9 años, 4 meses
Puntos: 0
Respuesta: Adaptar a navegadores modernos una página hecha hace años para IE7

Lo de cambiar el findDOM por getElementById no ha arreglado gran cosa. Ahora al pulsar el botón para que comience la carrera, en vez de dar el error que daba antes de p is null simplemente no da ningún error por consola ni por ningún lado y lo único que ocurre es que desaparece el botón.

Edit: vale lo de hacer desaparecer el botón por lo visto es parte del código, eso no es un error. Pero vamos que los caballos siguen sin moverse, le seguiré echando un ojo por mi cuenta porque es demasiado código como para pediros que lo reviséis aquí.

Última edición por WiperWoper; 14/12/2014 a las 10:03
  #5 (permalink)  
Antiguo 14/12/2014, 10:09
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 8 meses
Puntos: 578
Respuesta: Adaptar a navegadores modernos una página hecha hace años para IE7

¿Y ahora qué error te da? ¿Caballos are null?
  #6 (permalink)  
Antiguo 14/12/2014, 10:37
 
Fecha de Ingreso: diciembre-2014
Mensajes: 4
Antigüedad: 9 años, 4 meses
Puntos: 0
Respuesta: Adaptar a navegadores modernos una página hecha hace años para IE7

jaja no, no da ningún error, simplemente no se mueven.

Peeeero ya encontré el problema a base de debugear con Firebug. El problema era que para mover los caballos utilizaba esto básicamente:
Código Javascript:
Ver original
  1. a=document.getElementById("caballo1").style;
  2. a.left=posx+aleatorio;

posx+aleatorio es un número de pixels, pero simplemente eso, el número. Por lo visto eso funcionaba hasta IE7, pero ahora para que funcione hay que poner "px", así que ha quedado así:

Código Javascript:
Ver original
  1. a=document.getElementById("caballo1").style;
  2. a.left=(posx+aleatorio)+"px";

No lo he mirado demasiado a fondo aún pero parece que con eso ya está arreglado y funciona en Firefox 35 al menos. Marco el tema como solucionado :)

Gracias de todas formas porque me da que la función findDOM está desfasada y no habría funcionado sin cambiarlo por getElementById.

Última edición por WiperWoper; 14/12/2014 a las 10:43 Razón: highligtht javascript

Etiquetas: formulario, funcion, ie7, input, navegadores, página
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 00:48.