Osiris
12-16-2005, 10:49 PM
Ok, so as you can tell, I'm having some problems with some AJAX code of mine. The code works fine in FF and Opera, but not at all in IE. Could someone possibly tell me why?
var xmlDoc;
var chatContent = "";
var timeout;
function loadXML() {
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
try {
xmlDoc = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlDoc = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e2) {
xmlDoc = false;
}
}
@end @*/
if (!xmlDoc && typeof XMLHttpRequest != 'undefined') {
xmlDoc = new XMLHttpRequest();
}
if(!xmlDoc) {
alert('Your browser cannot handle this script');
return;
}
if(xmlDoc.overrideMimeType) {
xmlDoc.overrideMimeType('text/xml');
}
xmlDoc.onreadystatechange = function () {
if(xmlDoc.readyState == 4) {
if(xmlDoc.status == 200) {
var xmlContent = xmlDoc.responseXML;
for(var x = 0; x < xmlContent.getElementsByTagName("broadcast").length; x++) {
var author = xmlContent.getElementsByTagName("broadcast")[x].getAttribute("poster");
var author_id = xmlContent.getElementsByTagName("broadcast")[x].getAttribute("posterid");
var emote = xmlContent.getElementsByTagName("broadcast")[x].getAttribute("emote");
var message = xmlContent.getElementsByTagName("broadcast")[x].firstChild.data;
if(emote == 0) {
chatContent += '[Broadcast]<a href="/profile.php?uid='+author_id+'">'+author+'</a> - '+message+'<br />';
} else {
chatContent += '[Broadcast]<a href="/profile.php?uid='+author_id+'">'+author+'</a> '+message+'<br />';
}
}
for(var x = 0; x < xmlContent.getElementsByTagName("message").length; x++) {
var author = xmlContent.getElementsByTagName("message")[x].getAttribute("poster");
var author_id = xmlContent.getElementsByTagName("message")[x].getAttribute("posterid");
var emote = xmlContent.getElementsByTagName("message")[x].getAttribute("emote");
var message = xmlContent.getElementsByTagName("message")[x].firstChild.data;
if(emote == 0) {
chatContent += '<a href="/profile.php?uid='+author_id+'">'+author+'</a> - '+message+'<br />';
} else {
chatContent += '<a href="/profile.php?uid='+author_id+'">'+author+'</a> '+message+'<br />';
}
}
document.getElementById("chatDiv").innerHTML = chatContent;
chatContent = "";
timeout = setTimeout('loadXML()', 5000);
} else {
document.getElementById("chatDiv").innerHTML = "There was an error with the chat script. Please report this to an admin.";
}
}
}
xmlDoc.open('GET', 'http://somewhere.com/xml_file.php', true);
xmlDoc.send(null);;
}
Thanks!
var xmlDoc;
var chatContent = "";
var timeout;
function loadXML() {
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
try {
xmlDoc = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlDoc = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e2) {
xmlDoc = false;
}
}
@end @*/
if (!xmlDoc && typeof XMLHttpRequest != 'undefined') {
xmlDoc = new XMLHttpRequest();
}
if(!xmlDoc) {
alert('Your browser cannot handle this script');
return;
}
if(xmlDoc.overrideMimeType) {
xmlDoc.overrideMimeType('text/xml');
}
xmlDoc.onreadystatechange = function () {
if(xmlDoc.readyState == 4) {
if(xmlDoc.status == 200) {
var xmlContent = xmlDoc.responseXML;
for(var x = 0; x < xmlContent.getElementsByTagName("broadcast").length; x++) {
var author = xmlContent.getElementsByTagName("broadcast")[x].getAttribute("poster");
var author_id = xmlContent.getElementsByTagName("broadcast")[x].getAttribute("posterid");
var emote = xmlContent.getElementsByTagName("broadcast")[x].getAttribute("emote");
var message = xmlContent.getElementsByTagName("broadcast")[x].firstChild.data;
if(emote == 0) {
chatContent += '[Broadcast]<a href="/profile.php?uid='+author_id+'">'+author+'</a> - '+message+'<br />';
} else {
chatContent += '[Broadcast]<a href="/profile.php?uid='+author_id+'">'+author+'</a> '+message+'<br />';
}
}
for(var x = 0; x < xmlContent.getElementsByTagName("message").length; x++) {
var author = xmlContent.getElementsByTagName("message")[x].getAttribute("poster");
var author_id = xmlContent.getElementsByTagName("message")[x].getAttribute("posterid");
var emote = xmlContent.getElementsByTagName("message")[x].getAttribute("emote");
var message = xmlContent.getElementsByTagName("message")[x].firstChild.data;
if(emote == 0) {
chatContent += '<a href="/profile.php?uid='+author_id+'">'+author+'</a> - '+message+'<br />';
} else {
chatContent += '<a href="/profile.php?uid='+author_id+'">'+author+'</a> '+message+'<br />';
}
}
document.getElementById("chatDiv").innerHTML = chatContent;
chatContent = "";
timeout = setTimeout('loadXML()', 5000);
} else {
document.getElementById("chatDiv").innerHTML = "There was an error with the chat script. Please report this to an admin.";
}
}
}
xmlDoc.open('GET', 'http://somewhere.com/xml_file.php', true);
xmlDoc.send(null);;
}
Thanks!