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

Internet Explorer se oculta tras una petición Ajax

Estas en el tema de Internet Explorer se oculta tras una petición Ajax en el foro de Frameworks JS en Foros del Web. Buenas: En resumidas cuentas es lo que dice el asunto. Supongamos que tenemos tres programas abiertos, por tanto, tres ventanas. Una de ellas es IE. ...
  #1 (permalink)  
Antiguo 23/04/2007, 12:06
 
Fecha de Ingreso: octubre-2005
Mensajes: 1
Antigüedad: 19 años
Puntos: 0
Internet Explorer se oculta tras una petición Ajax

Buenas:
En resumidas cuentas es lo que dice el asunto.
Supongamos que tenemos tres programas abiertos, por tanto, tres ventanas. Una de ellas es IE. Cuando hago una petición Ajax en IE la ventana se pone en último lugar. A efectos prácticos me desaparece y se me queda delante otro de los programas.

Con Firefox me pasa algo similar, no tan drástico, ni mucho menos. Con Firefox hace lo mismo pero sólo con las ventanas del propio Firefox. Por ejemplo, si tengo abierto el Firefox y la ventana del código fuente, pues al hacer la petición Ajax se pone al frente esa ventana secundaria desapareciendome el Firefox.

La diferencia respecto con el Internet Explorer es que este se pone el último y el Firefox el segundo en el orden de ventanas.

Adjunto todo el código que uso para Ajax o que está relacionado con él asi como un ejemplo de petición:

Código PHP:
function nuevoAjax() {
    var 
xmlhttp=false;
    try {
        
// Creacion del objeto AJAX para navegadores no IE
        
xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch(
e) {
        try {
            
// Creacion del objeto AJAX para IE
            
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch(
E) { xmlhttp=false; }
    }
    if (!
xmlhttp && typeof XMLHttpRequest!="undefined") { xmlhttp=new XMLHttpRequest(); }

    return 
xmlhttp;
}

function 
FAjax (urlcapavaloresmetodo) {
    var 
ajax=nuevoAjax();
    var 
capaContenedora document.getElementById(capa);

    
/*Creamos y ejecutamos la instancia si el metodo elegido es POST*/
    
if(metodo.toUpperCase()=="POST"){
        
ajax.open ("POST"urltrue);
        
ajax.onreadystatechange = function() {
            if (
ajax.readyState==4) {
                if(
ajax.status==200document.getElementById(capa).innerHTML=ajax.responseText;
                else {
                    if(
ajax.status==404capaContenedora.innerHTML "La direccion no existe";
                    else 
capaContenedora.innerHTML "Error: ".ajax.status;
                }
            }
        }
        
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
        
ajax.send(valores);
    }

    
/*Creamos y ejecutamos la instancia si el metodo elegido es GET*/
    
if (metodo.toUpperCase()=="GET"){
        
ajax.open ("GET"urltrue);
        
ajax.onreadystatechange = function() {
            if (
ajax.readyState==4){
                if(
ajax.status==200) {
                    
document.getElementById(capa).innerHTML=ajax.responseText;            
                }
                else {
                    if(
ajax.status==404capaContenedora.innerHTML "La direccion no existe";
                    else 
capaContenedora.innerHTML "Error: ".ajax.status;
                }
            }
        }

        
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
        
ajax.send(null);
    }
    return;
}

function 
Valores (f) {
    var 
valores "";
    for (
i=0i<f.length-1i++) {
        if((
f.elements[i].type == "checkbox" && f.elements[i].checked) ||
            (
f.elements[i].type == "radio" && f.elements[i].checked) ||
            (
f.elements[i].type != "checkbox" && f.elements[i].type != "radio"))
                
valores += f.elements[i].name+"="+f.elements[i].value+"&";
    }
    return (
valores.substring (0valores.length-1));

Código HTML:
<a href="javascript:FAjax ('noticias.htm','cuerpo', null, 'GET');">
<img border="0" src="Imagenes/Web/Inicio.png" width="64" height="17" alt="Inicio"></a> 
A ver si me pueden echar una mano, estoy perdido. Gracias
Saludos
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 07:05.