Que tal foro, tengo este mega lio, hice un mini chat usando php y ajax, todo bien, peroooo como que no estoy liberando la memoria del objeto xmlhttp, porque dejo la ventana de chat abierta unos 30 min, y ya sea ie o ff se comen muchisima memoria de la pc y el consumo de procesador se dispara a 100% algo estoy haciendo mal pero no se que miren lo que hago es esto:
con esta funcion pido el objeto
function nuevoAjax()
{
/* Crea el objeto AJAX. Esta funcion es generica para cualquier utilidad de este tipo, por lo que se puede copiar tal como esta aqui */
var xmlhttp=false;
try
{
// Creacion del objeto AJAX para navegadores no IE
xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
// Creacion del objet AJAX para IE
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch(E) { xmlhttp=false; }
}
if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp=new XMLHttpRequest(); }
return xmlhttp;
}
y esa funcion la mando llamar en distintas partes de mi archivo js en distintas funciones
por ejemplo:
function InsertaMsg(txtMsg,lsFecha)
{
// Creo el objeto AJAX
var ajax2=nuevoAjax();
var parametros="";
var FORMA;
if(document.forms.length==1)
FORMA=document.forms[0];
else
FORMA=document.forms[1];
parametros="msg="+txtMsg+"&fecha="+lsFecha+"&cve_p latica="+FORMA.cve_platica.value+"&tipo_cte=C&cve_ cte="+FORMA.cve_cte.value+"&cve_usuario="+FORMA.cv e_usuario.value;
// Abro la conexión, envío cabeceras correspondientes al uso de POST y envío los datos con el método send del objeto AJAX
ajax2.open("POST", "insertaMsg.php", true);
ajax2.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax2.onreadystatechange=function()
{
if (ajax2.readyState==4)
{
//Habilito botón de nuevo
FORMA.btnEnviar.disabled=false;
if(FORMA.cve_platica.value=="no")
{
//alert(ajax2.responseText);
FORMA.cve_platica.value=ajax2.responseText;
VerificaMsg();
}
}
}
ajax2.send(parametros);
FORMA.txtMsg.focus();
FORMA.txtMsg.value="";
}
no se si con asignar null al final de mi funcion por ejemplo
ajax2=null;
o alguna manera de decirle que cuando ya usó el objeto y le haya regresado valores libere su uso, cabe señalar que en todas las funciones creo la variable ajax2 es decir es una variable local siempre, pero como les comento aun con eso, me consume infinidad de recursos de la pc y pues llega un momento en que ni cerrar la ventana puedo
me podran ayudar por favor? que estoy haciendo mal?
Saludos!!