Foros del Web » Programando para Internet » Javascript »

Porque no anda en Firefox?

Estas en el tema de Porque no anda en Firefox? en el foro de Javascript en Foros del Web. Hola, Tengo un scipt que anda perfectamente en internet explorer, pero en firefox no funciona para nada y en la consola de error no dice ...
  #1 (permalink)  
Antiguo 16/11/2009, 09:42
 
Fecha de Ingreso: noviembre-2005
Mensajes: 32
Antigüedad: 18 años, 5 meses
Puntos: 0
Porque no anda en Firefox?

Hola,

Tengo un scipt que anda perfectamente en internet explorer, pero en firefox no funciona para nada y en la consola de error no dice nada. El codigo es el siguiente:

var par=window.document.getElementById('upload_area'). innerHTML;

donde upload_area es el id de un div. Si es necesario podria aclarar mejor como esta hecho el script, pero creo que basta con ver el código javascript para ver si la funcion corresponde o no para firefox.

Gracias
  #2 (permalink)  
Antiguo 16/11/2009, 12:24
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Porque no anda en Firefox?

Hola

En principio sin ver nada mas de código te puedo decir que te sobra window

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #3 (permalink)  
Antiguo 16/11/2009, 13:51
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Porque no anda en Firefox?

ahora digo yo como dice Adler
dando palos de ciego, lo unico que se me ocurre es que dicho codigo se ejecuta antes de que el elemento exista en el documento.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #4 (permalink)  
Antiguo 16/11/2009, 14:37
 
Fecha de Ingreso: noviembre-2005
Mensajes: 32
Antigüedad: 18 años, 5 meses
Puntos: 0
Respuesta: Porque no anda en Firefox?

Hola,

Les paso el codigo completo, a lo mejor es otra cosa. Esto se puede probar directamente en la ultima version del firefox:


Cita:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<script type="text/javascript">
<!--
function ver_que_hay(){
var par=window.document.getElementById('upload_area'). innerHTML;
par = par.replace(/<[^>]+>/g,'');
if(par == "Hola, que tal.") {
alert(par);
return 0;
}
}
//-->
</script>
<body>
<BR><BR>
<div id="upload_area">
Hola, que tal.<br /><br />
</div>
<INPUT TYPE="button" VALUE="comprobar formulario" class="boton" onclick="ver_que_hay();">

</body>
</html>
Lo prueban y se van a dar cuenta.

Gracias
  #5 (permalink)  
Antiguo 16/11/2009, 14:55
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Porque no anda en Firefox?

con permiso de Adler, ya que no esta presente en estos momentos...

sucede que firefox preserva los saltos de linea del codigo fuente mientras que iexplorer los ignora, de modo que tu string literal nunca es igual al string extraido (y luego de limpiado) del innerHTML. es decir, en firefox te genera...
Código:
"
Hola, que tal.
"
pero en iexplorer...
Código:
"Hola que tal."
la solucion, podrias hacer un corte de los caracteres innecesarios al principio y final del string. copias el siguiente codigo en cualquier parte de tu script. antes de hacer la comparacion, invocas el metodo trim.
Código:
String.prototype.trim = function(){
return this.replace(/^\s*|\s*$/g, "");
}

// el ejemplo para tus efectos;
if(par.trim() == "Hola, que tal.") {
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Última edición por zerokilled; 16/11/2009 a las 16:33 Razón: arreglando codigo
  #6 (permalink)  
Antiguo 16/11/2009, 16:37
 
Fecha de Ingreso: noviembre-2005
Mensajes: 32
Antigüedad: 18 años, 5 meses
Puntos: 0
Respuesta: Porque no anda en Firefox?

Gracia mil Zerokiller, funcionó perfecto.


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 21:31.