Bueno la verdad no sabia si postearlo en el foro de ajax, o en el subforo de frameworks.
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:
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();
}
});
});
Aca el HTML:
Código:
<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>
Yo stoy seguro que el problema es en la funcion chat(); cuando se ejecuta
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:
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);
}
}
Y no hay ningun problema, no se tranca ni nada.
Solo que cuando se usa el metodo load, carga el cache.
Cual puede ser la solucion?