Pero la verdad es algo que me esta matando, hize un minichat con php y jquery, pero hay un problemon, en Mozilla se ejecuta lo mas bien, pero en Internet Explorer, se consumen todo los recursos cuando uso la funcion setTimeout(); lo que hace que internet se caiga,, la funcion la uso para que cada 5 segundos, 'refresque' el 'chat' y sea mas dinamico, aca dejo el javascript que le puse.
Javascript:
Código:
Aca el HTML:function minichat() { var chat_m = $("#chat").css("display"); if (chat_m == "none") { $("#chat").slideDown("slow"); } else { $("#chat").slideUp("slow"); } } function chat() { $("#texto-chat").load("chat.php"); setTimeout("chat()", 5000); } function enviarChat() { var texto = $("#texto-enviar").val(); var sid = $("#sid").val(); $.post(sid, { texto: texto, enviar: "Enviar" }, function(data){ if (data != "") { alert(data); } $("#texto-chat").load("chat.php"); $("#texto-enviar").val(""); }); } $("document").ready(function(){ chat(); $("#texto-enviar").keypress(function (e) { if (e.which==13){ enviarChat(); } }); });
Código:
Yo stoy seguro que el problema es en la funcion chat(); cuando se ejecuta<input type="hidden" value="{SID}" id="sid" /> <div id='chat'> <div id='titulo' onmousedown="dragStart(event, 'chat')"> <img src='template/hinchadamanya/images/iconchat.png' class='icon'> <a href="#" onclick="minichat()"> Mini Chat</a></div> <div id='texto-chat'> Cargando MiniChat </div> <div id='enviar'> <!-- IF LOGGED_CHAT --> <input type='text' id='texto-enviar' size='30' / > <a href='#' onclick='enviarChat()'> Enviar </a> <!-- ELSE --> Necesitas estar registrado <!-- ENDIF --> </div> </div>
setTimeout, en IE.
Porfavor la verdad que es urgente, si alguien me puede ayudar, se los voy agradecer muchisimo :)
Saludos
EDIT:
Estaba probando y me di cuenta, que.. en Internet Explorer toma el cache, y por mas que yo de F5 el chat muestra lo mismo hasta que borre los temporales.
Alguna manera de solucinarlo?
EDIT2:
Hize esto:
Código:
Y no hay ningun problema, no se tranca ni nada.function chat() { $("#texto-chat").html("Actualizando!"); $("#texto-chat").load("chat.php"); var navegador = navigator.appName; if (navegador == "Microsoft Internet Explorer") { setTimeout("chat()", 10000); } else { setTimeout("chat()", 5000); } }
Solo que cuando se usa el metodo load, carga el cache.
Cual puede ser la solucion?