My files are not hosted on a server using http. They come with many sound files to practice vocabulary. The problem is that IE8 does not give me the opportunity to load xml course info, I suspect it is because Microsoft might think IE is for network use only (funny they don't think that when MS Word is concerned). Everything works fine in opera and firefox but IE does not give me a documentElemet after loading the xml. Here is some code to reproduce:
Code:
<html>
<head>
<title>test course</title>
</head>
<body>
	<textarea id="output" style="width:600px;height:300px"></textarea>
<script>
var xmlhttp=false;
/* running locally on IE5.5, IE6, IE7 */ ; /*@cc_on
if(location.protocol=="file:"){
if(!xmlhttp)try{ xmlhttp=new ActiveXObject("MSXML2.XMLHTTP"); }catch(e){xmlhttp=false;}
if(!xmlhttp)try{ xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); }catch(e){xmlhttp=false;}
} ; @cc_off @*/
/* IE7, Firefox, Safari, Opera... */
if(!xmlhttp)try{ xmlhttp=new XMLHttpRequest(); }catch(e){xmlhttp=false;}
/* IE6 */
if(typeof ActiveXObject != "undefined"){
if(!xmlhttp)try{ xmlhttp=new ActiveXObject("MSXML2.XMLHTTP"); }catch(e){xmlhttp=false;}
if(!xmlhttp)try{ xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); }catch(e){xmlhttp=false;}
}
/* IceBrowser */
if(!xmlhttp)try{ xmlhttp=createRequest(); }catch(e){xmlhttp=false;}
var outp=document.getElementById("output");
function processRequest(){
	if (xmlhttp.readyState == 4) {
		var bsIEdebuggerDoesntShowVarsInScope=xmlhttp;
		var tmp=new Array();
		var i=0;
		tmp[i]="What is the responseText:::::::-";i++;
		tmp[i]=xmlhttp.responseText;i++;
		tmp[i]="-::::::::\n";i++;
		tmp[i]="What is the responseXML.documentElement::::::-";i++;
		tmp[i]=xmlhttp.responseXML.documentElement;i++;
		tmp[i]="-::::::::\n";i++;
		tmp[i]="Is the responseXML.documentElement null::::::-";i++;
		tmp[i]=!xmlhttp.responseXML.documentElement;i++;
		tmp[i]="-::::::::\n";i++;
		tmp[i]="Is the responseXML.firstChild null::::::-";i++;
		tmp[i]=!xmlhttp.responseXML.firstChild;i++;
		tmp[i]="-::::::::\n";i++;
		outp.value=tmp.join("");
	}
}
xmlhttp.onreadystatechange=processRequest;
xmlhttp.open("GET", "data.xml", true);
xmlhttp.send(null);
</script>
</body>
</html>
The data.xml is utf-8 saved and I opened it in several browsers:
Code:
<?xml version="1.0" encoding="utf-8"?>
<lesson>
<info> some info</info>
</lesson>
output is:
Code:
What is the responseText:::::::-<?xml version="1.0" encoding="utf-8"?>
<lesson>
<info> some info</info>
</lesson>
-::::::::
What is the responseXML.documentElement::::::--::::::::
Is the responseXML.documentElement null::::::-true-::::::::
Is the responseXML.firstChild null::::::-true-::::::::