heyho, hab folgendes script was in firefox und opera einwandfrei läuft. allerdings macht das im IE blödsinn und schreibt da gar nicht aktuelle werte rein.
jemand ne idee, woran das liegen könnte?
das eigentlich problem bezieht sich auf timer();
getestet mit dem IE 7 unter Vista x64, ff und opera machen keine probleme und erzählen auch nichts von problemen.
link zur seite ums live zu sehen wäre das hier: http://do-not-press-this-button.verfriemelt.org/
ich formuliers nochmal deutlicher:
wenn ich zb in den shoutbox kasten was eingebe, sendet der die daten an den server und fragt per ajax request den server nach neuen inhalten ab.
wenn dann aber der timer wieder aktiv wird stehen wieder die alten daten drin. allerdings weis ich nicht warum.
als ob der IE das aus dem cache auslesen würde!
jemand ne idee, woran das liegen könnte?
Code:
function req(url,div_name,method,post){
if (!document.getElementById(div_name)) {
return 0;
}
try {
// Firefox, Opera 8.0+, Safari
var xmlHttp1=new XMLHttpRequest();
} catch (e){
// Internet Explorer
try {
xmlHttp1=new ActiveXObject("Msxml2.XMLHTTP");
} catch (e){
try {
xmlHttp1 = new ActiveXObject("Microsoft.XMLHTTP");
}catch (e){
alert("Your browser does not support AJAX!");
return false;
}
}
}
xmlHttp1.onreadystatechange = function(){
if(xmlHttp1.readyState==4){
var content = xmlHttp1.responseText;
document.getElementById(div_name).innerHTML = content;
}
}
xmlHttp1.open(method,url,true);
xmlHttp1.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xmlHttp1.send(post);
}
function sendShout(e) {
if (e.keyCode != 13) {
return false;
}
if (!document.getElementById("username")) {
return 0;
}
var msg = document.getElementById("shoutinput").value;
var user = document.getElementById("username").value;
document.getElementById("shoutinput").value = '';
var post = "user=" +user+"&text=" + Base64.encode(msg);
req("/include/shoutbox.php?ajax=1","shouttext","POST",post);
}
function initbox() {
var url = "/include/shoutbox.php";
req(url,"shouttext","GET",null);
s=setTimeout("initbox()",10000);
}
function timer() {
if (!document.getElementById("resetbox")) {
return 0;
}
req("/include/gettime.php","resetbox","get",null);
t=setTimeout("timer()",1000);
}
var s=setTimeout("initbox()",500);
var t=setTimeout("timer()",1000);
das eigentlich problem bezieht sich auf timer();
getestet mit dem IE 7 unter Vista x64, ff und opera machen keine probleme und erzählen auch nichts von problemen.
link zur seite ums live zu sehen wäre das hier: http://do-not-press-this-button.verfriemelt.org/
ich formuliers nochmal deutlicher:
wenn ich zb in den shoutbox kasten was eingebe, sendet der die daten an den server und fragt per ajax request den server nach neuen inhalten ab.
wenn dann aber der timer wieder aktiv wird stehen wieder die alten daten drin. allerdings weis ich nicht warum.
als ob der IE das aus dem cache auslesen würde!