Foros del Web » Programando para Internet » Javascript » Frameworks JS »

por que no funciona en Internet explorer

Estas en el tema de por que no funciona en Internet explorer en el foro de Frameworks JS en Foros del Web. Buenas, hoy me esta dando el dia el internet explorer , estaba programando mi web y iba mirando como quedaba en el firefox y estaba ...
  #1 (permalink)  
Antiguo 10/02/2009, 15:10
 
Fecha de Ingreso: noviembre-2007
Mensajes: 229
Antigüedad: 17 años, 1 mes
Puntos: 0
por que no funciona en Internet explorer

Buenas, hoy me esta dando el dia el internet explorer , estaba programando mi web y iba mirando como quedaba en el firefox y estaba perfecta pero oy ma dao por mirarla en el IE y un monton de coasas no me funcionaban y la otra mitad estaba cambiado de sitio...

y tenia un codigo ajax que en firefox me funcionaba cantidad de bien a la perfeccion pero en internet explorer no funciona...

por que??

merciii

Código:
var RequestObject = false;   
   var Archivo = 'codes/online.php'; //directorio donde tenemos el archivo ajax.php 
  

   window.setInterval("actualizacion_reloj()", 2500); // el tiempo X que tardará en actualizarse   
   
   if (window.XMLHttpRequest) //   
 RequestObject = new XMLHttpRequest();  
 if (window.ActiveXObject)     
   RequestObject = new ActiveXObject("Microsoft.XMLHTTP");  
 function ReqChange() {  
 // Si se ha recibido la información correctamente  
   if (RequestObject.readyState==4) {  
   // si la información es válida   
   if (RequestObject.responseText.indexOf('invalid') == -1)   
   {   
   // obtener la respuesta   
   var msgs = RequestObject.responseText.split('|');  
   // Buscamos la div con id online   
   document.getElementById("online").innerHTML = msgs[0];  
   }  
   else {  
   // Por si hay algun error   
   document.getElementById("online").innerHTML = "Error llamando";  
   }  
   }  
   }  
 function llamadaAjax() {  
  // Mensaje a mostrar mientras se obtiene la información remota... 
   var previousContent = '';
   //document.getElementById("online").innerHTML = "";  
   // Preparamos la obtención de datos 
   
   RequestObject.open("GET", Archivo , true);  
   RequestObject.onreadystatechange = ReqChange;  
   // Enviamos   
   RequestObject.send(null);   
   }  
   function actualizacion_reloj() {  
   llamadaAjax(); 
   
   }
  #2 (permalink)  
Antiguo 10/02/2009, 16:22
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 8 meses
Puntos: 1284
Respuesta: por que no funciona en Internet explorer

Hola:

La verdad es que parece bueno el código... recuerdo que explorer provocaba error manipular directamente los objetos Ajax, y la solución era crear una variable con la respuesta...

respuesta = RequestObject.responseText;
... y luego

if (respuesta.indexOf('invalid') == -1)
var msgs = respuesta.split('|');

Cuéntanos si te vale.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 10/02/2009, 16:38
 
Fecha de Ingreso: noviembre-2007
Mensajes: 229
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: por que no funciona en Internet explorer

Cita:
Iniciado por caricatos Ver Mensaje
Hola:

La verdad es que parece bueno el código... recuerdo que explorer provocaba error manipular directamente los objetos Ajax, y la solución era crear una variable con la respuesta...

respuesta = RequestObject.responseText;

... y luego

if (respuesta.indexOf('invalid') == -1)
var msgs = respuesta.split('|');

Cuéntanos si te vale.

Saludos
Buenas ante todo gracias...

lo de la variable lo entendido yo tengo que meter en una bariable lo que devuelve el archivo php no?

supongo que se hará con el

Código:
respuesta = RequestObject.responseText;
lo que no entendido mucho es lo del if, y el donde se coloca lo del if...

para que es eso...

mercii
  #4 (permalink)  
Antiguo 10/02/2009, 16:46
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 8 meses
Puntos: 1284
Respuesta: por que no funciona en Internet explorer

Cita:
Iniciado por scorpionhack Ver Mensaje
lo que no entendido mucho es lo del if...

mercii
Hola:

Lo que he hecho es copiar y pegar tu propio código, el if es el mismo que tu tenías cambiando la raíz de la variable... seguro que si revisas mejor los mensajes comprenderás la respuesta (aunque no estoy seguro de que sea buena)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 11/02/2009, 04:46
 
Fecha de Ingreso: noviembre-2007
Mensajes: 229
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: por que no funciona en Internet explorer

lo he hecho como me decias y me sigue sin ir en Internet explorer...

Código:
 var RequestObject = false;   
   var Archivo = 'codes/online.php'; //directorio donde tenemos el archivo ajax.php 
  

   window.setInterval("actualizacion_reloj()", 2500); // el tiempo X que tardará en actualizarse   
   
   if (window.XMLHttpRequest) //   
 RequestObject = new XMLHttpRequest();  
 if (window.ActiveXObject)     
   RequestObject = new ActiveXObject("Microsoft.XMLHTTP");  
 function ReqChange() {  
 // Si se ha recibido la información correctamente  
   if (RequestObject.readyState==4) {  
   // si la información es válida   
   var respuesta = RequestObject.responseText;
   if (respuesta.indexOf('invalid') == -1)   
   {   
   // obtener la respuesta   
   var msgs = respuesta.split('|');  
   // Buscamos la div con id online   
   document.getElementById("online").innerHTML = msgs[0];  
   }  
   else {  
   // Por si hay algun error   
   document.getElementById("online").innerHTML = "Error llamando";  
   }  
   }  
   }  
 function llamadaAjax() {  
  // Mensaje a mostrar mientras se obtiene la información remota... 
   var previousContent = '';
   //document.getElementById("online").innerHTML = "";  
   // Preparamos la obtención de datos 
   
   RequestObject.open("GET", Archivo , true);  
   RequestObject.onreadystatechange = ReqChange;  
   // Enviamos   
   RequestObject.send(null);   
   }  
   function actualizacion_reloj() {  
   llamadaAjax(); 
   
   }
  #6 (permalink)  
Antiguo 11/02/2009, 05:22
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: por que no funciona en Internet explorer

Podrías describir un poco más lo que significa "no funciona" y "me sigue sin ir". Quiero decir, cosas como "me da tal mensaje de error", "me sale un aviso en la consola de errores que dice tal y cual", "sale este alert que pongo aquí para comprobar, pero este otro alert que pongo acá ya no sale", "la llamada la recibo porque la veo en el log del servidor, pero la respuesta no sale"... cosas de ese tipo que hacen que no parezca un acertijo.

Gracias.
  #7 (permalink)  
Antiguo 11/02/2009, 06:16
 
Fecha de Ingreso: noviembre-2007
Mensajes: 229
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: por que no funciona en Internet explorer

Cita:
Iniciado por venkman Ver Mensaje
Podrías describir un poco más lo que significa "no funciona" y "me sigue sin ir". Quiero decir, cosas como "me da tal mensaje de error", "me sale un aviso en la consola de errores que dice tal y cual", "sale este alert que pongo aquí para comprobar, pero este otro alert que pongo acá ya no sale", "la llamada la recibo porque la veo en el log del servidor, pero la respuesta no sale"... cosas de ese tipo que hacen que no parezca un acertijo.

Gracias.
Ok jeje lo siento...

pues mas que nada no me sale ningun error ni nada solo que el div no se actualiza...
  #8 (permalink)  
Antiguo 11/02/2009, 06:33
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: por que no funciona en Internet explorer

Pero a ver...

¿La llamada se hace? ¿Has probado a meter algún alert de control para ver dónde está fallando?
  #9 (permalink)  
Antiguo 11/02/2009, 09:33
 
Fecha de Ingreso: noviembre-2007
Mensajes: 229
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: por que no funciona en Internet explorer

Cita:
Iniciado por venkman Ver Mensaje
Pero a ver...

¿La llamada se hace? ¿Has probado a meter algún alert de control para ver dónde está fallando?

si las llamada las hace le he puesto un alert y si me sale...
  #10 (permalink)  
Antiguo 11/02/2009, 09:41
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: por que no funciona en Internet explorer

¿Dónde has puesto los alerts?
  #11 (permalink)  
Antiguo 11/02/2009, 10:08
 
Fecha de Ingreso: noviembre-2007
Mensajes: 229
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: por que no funciona en Internet explorer

los alerts los e puesto en:

la funcion llamadaajax() (para saber si hacia la llamada);

Tambien lo he puesto antes de...(por si habia error)(y no me ha devuelto el alert)


document.getElementById("online").innerHTML = "Error llamando";

y antesde.. (> y aki me ha mostrado el alert)
var msgs = respuesta.split('|');
  #12 (permalink)  
Antiguo 11/02/2009, 10:51
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: por que no funciona en Internet explorer

Vale, en ese último alert, el de antes de hacer el split, podrías ponerlo como alert(respuesta) y poner aquí lo que saca?
  #13 (permalink)  
Antiguo 11/02/2009, 18:06
 
Fecha de Ingreso: noviembre-2007
Mensajes: 229
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: por que no funciona en Internet explorer

Cita:
Iniciado por venkman Ver Mensaje
Vale, en ese último alert, el de antes de hacer el split, podrías ponerlo como alert(respuesta) y poner aquí lo que saca?
Cita:
<b><img src="img_desing/monigoteoff.png" height="14" width="14"> &gt;

<a href = "javascript:void(0)" onclick = "document.getElementById('light').style.display='b lock';document.getElementById('fade').style.displa y='block'">

Javier</a></b>&nbsp;(Offline)<br /><b><img src="img_desing/monigote.png" height="14" width="14"> &gt;

<a href = "javascript:void(0)" onclick = "document.getElementById('light').style.display='b lock';document.getElementById('fade').style.displa y='block'">

Olivia</a></b>&nbsp;(Online)<br />
me devuelve esto pero no se por que me devuelve que el usuario javier esta offline cuando esta online y en firefox me sale bien...

pongo el codigo que me dice quien esta offline y online...

este codigo muestra en e div todos los usuarios luego los busca en la base de datos de los que estan conectados y si los encuentra los muestra online y si no en offline

Código PHP:

<?php
include("db.php");

//SELECT * FROM `sesiones` WHERE 
$sql "SELECT administrador  FROM administradores LIMIT 0,10";
$reg mysql_query($sql);

while (
$row mysql_fetch_array($reg)){
      
$rows=$row['administrador'];
$preg="SELECT sessionid FROM sesiones WHERE sessionuser='$rows'";
$preg=mysql_query($preg);
$preg=mysql_result($preg,0,0);
  
        if (
$preg==""){
            
$emo="monigoteoff.png";
            
$state="Offline";
        }else{
            
$emo="monigote.png";
            
$state="Online";
        }
            
    
echo 
"<b><img src=\"img_desing/$emo\" height=\"14\" width=\"14\"> &gt; ";
?>

<a href = "javascript:void(0)" onclick = "document.getElementById('light').style.display='block';document.getElementById('fade').style.display='block'">
<?php
echo "".ucwords($row['administrador'])."</a></b>&nbsp;($state)<br />"
}

mercii
?>
  #14 (permalink)  
Antiguo 12/02/2009, 02:32
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: por que no funciona en Internet explorer

Dos cosas:

1. ¿Por qué le haces a ese texto un split("|") si no veo que tenga ninguna |?
2. En cuanto a que se vea online/offline... ¿Puede ser que tengas un problema con las cookies?
  #15 (permalink)  
Antiguo 12/02/2009, 10:27
 
Fecha de Ingreso: noviembre-2007
Mensajes: 229
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: por que no funciona en Internet explorer

Cita:
Iniciado por venkman Ver Mensaje
Dos cosas:

1. ¿Por qué le haces a ese texto un split("|") si no veo que tenga ninguna |?
2. En cuanto a que se vea online/offline... ¿Puede ser que tengas un problema con las cookies?
lo del split esta por que lo saque de una web y venia el codigo asi...

lo de las coockies no creo por que entonces en firefox tambien se veria mal no?
  #16 (permalink)  
Antiguo 12/02/2009, 11:30
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: por que no funciona en Internet explorer

Lo de las cookies podría ser. Cada navegador trata sus propias cookies. Mira bien que en los dos se están aceptando y recibiendo y guardando las cookies.
  #17 (permalink)  
Antiguo 12/02/2009, 11:36
 
Fecha de Ingreso: noviembre-2007
Mensajes: 229
Antigüedad: 17 años, 1 mes
Puntos: 0
Cita:
Iniciado por venkman Ver Mensaje
Lo de las cookies podría ser. Cada navegador trata sus propias cookies. Mira bien que en los dos se están aceptando y recibiendo y guardando las cookies.

no pero no creo que sea por que el usuario que esta desconectado esta en otro ordenador y esta en firefox...es decir que no es el mismo usuario de ese pc el que sale desconectado en cambio si me conecto en el pc donde me pongo con el internet explorer con el firefox me sale bien...

ya se donde esta el fallo aunque no he conseguido solucionarlo el fallo es de internet explorer obiamente, y es que cuando hace la llamada el script para actualizar el div, internet explorer lo actualiza desde sus archivos temporales si yo borro los archivos temporales y luego la web hace la llamada funciona pero solo una vez por que a la segunda vez lo coje de los archivos temporales...

como puedo solucionar esto?

Última edición por GatorV; 15/02/2009 a las 00:01
  #18 (permalink)  
Antiguo 14/02/2009, 06:53
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: por que no funciona en Internet explorer

En el servidor pon cabeceras a la respuesta para que no lo cachee.
En el cliente, añade un parametro con un valor aleatorio cada vez.
  #19 (permalink)  
Antiguo 14/02/2009, 08:24
 
Fecha de Ingreso: noviembre-2007
Mensajes: 229
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: por que no funciona en Internet explorer

y como puedo hacerlo eso??

soy un poco novato todavia jejeje...

merciii
  #20 (permalink)  
Antiguo 15/02/2009, 00:02
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: por que no funciona en Internet explorer

Otra opción es agregarle al final de tu request uri un número aleatorio usando Math.rand().

Saludos
  #21 (permalink)  
Antiguo 31/03/2009, 06:31
Avatar de pabloaltamirano22  
Fecha de Ingreso: junio-2008
Ubicación: Viena
Mensajes: 203
Antigüedad: 16 años, 5 meses
Puntos: 5
Respuesta: por que no funciona en Internet explorer

Hola scorpionhack,

si pudieras contar como esta tu aplicacíon me ayudaria mucho, tengo el mismo problema.

En un hilo algo mas antiguo leí sobre una solución a un problema similar, fijate si te sirve si es que todavia no lo arreglaste http://www.forosdelweb.com/f77/probl...plorer-521634/ (personalmente no me ayudó)

salu2
__________________
Paulo
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 18:31.