PDA

Volledige versie bekijken : IE object expected error xml loading.


sidar
%Europe/Berlin %768 %2010, 18:26
Ik probeer een XML in te laden via een ActiveXObject.
Ik weet dat IE vaker voor problemen veroorzaakt maar ik heb geen idee hoe ik dit moet oplossen.

var parser;
var quizList;
var questionCounter = 0; // question counter
var correctAnswer; //
var quizScore = 0;
var questionAmount = 2;


function loadXML()
{
if (window.DOMParser)
{
parser=new DOMParser();
quizList=parser.parseFromString("qst.xml","text/xml");
}
else // Internet Explorer
{
quizList = new ActiveXObject("Microsoft.XMLDOM");
quizList.async = false;
quizList.onreadystatechange = readXML;
quizList.load("qst.xml");

}

}

function readXML()
{
if(quizList.readyState == 4)
{
alert(quizList.documentElement.tagName); //ERROR -java-runtime-error object expected
alert(quizList.documentElement.childNodes[0]);
}
}

Het maakt niet uit welke xml of code toepas het gaat hier fout.
Als ik een xml aanmaak binnen de js file dan gaat het prima, maar niet met externe files.
Ik heb gelezen dat IE vaak de functie onreadystatechange vroegtijdig uitvoert?

ik heb ook geprobeerd het volgende te doen:
<script type="text/javascript" src="quiz.js" defer="defer">

</script>

Maar dat werkt ook niet.

Als iemand MS wilt platbranden doe ik graag mee, want ik word hier schijt ziek van.
Iemand die hier meer van weet?

( andere browsers werken obviously niet, dit is alleen voor IE....voor nu)

jaspermuts
%Europe/Berlin %537 %2010, 12:53
Ik weet dat het niet de oplossing voor je probleem is (die weet ik ook niet), maar is het geen beter idee om je XML via Ajax in te laden? Dat wordt tenminste door alle browsers ondersteund.
Als je nog nooit met Ajax hebt gewerkt raad ik je aan dat i.c.m. een JS-framework als jQuery, Prototype of MooTools te doen, die hebben allemaal goeie, eenvoudig te gebruiken implementaties van Ajax-functies.
De X in Ajax staat zelfs voor XML, waardoor ik er vrij zeker van ben dat dit logischer is.

sidar
%Europe/Berlin %382 %2010, 09:10
Ik weet dat het via ajax beter kan ja, maar ik probeerde te begrijpen waar het hier faalde.
thnx anyways.

Anoesj
%Europe/Berlin %537 %2010, 12:53
IE bugt altijd met XML, wen er maar alvast aan. AJAX is inderdaad een goede en compatibele manier om toch het gewenste resultaat te verkrijgen (eventueel met jQuery AJAX als je dat fijner vindt). Succes!