Pheew .. this has been one of the most notorious IE v/s FF conflicts I've ever faced and IE would NOT give up! I tried everything from trying to parse the xhr.responseXML element to dynamically assigning its content to a hidden element even tried to render it as script but all failed.
Finally, after frustrating days I moved my efforts to the actual taconite plugin file and reviewed its script trying to find some function / method that I can leverage and bingo!
I don't know how stable / legal this is but it works for me -
$('#frmFiles').ajaxForm({
dataType: 'xml',
...
success: function (responseXML, statusText, xhr, frm) {
...
/* FF gives xml string in - xhr.responseText */
...
if (xhr.responseXML != null){
var tc = new $.taconite(responseXML); // only for IE
}
...
});
What I've done here is explicitly initialize a taconite instance with the responseXML and hats off to the taconite plugin which handles the xmlObject and / or xml text without any extra specifications. Thw following does all the magic -
var tc = new $.taconite(responseXML);
Mind well - this is ONLY for IE, FF handles it v.well so to prevent the above code from being executed in FF I had to keep extra IE specific checks.
I've tested it in IE7, 8 & 9. Hope this saves some effort of people in a similar IE dilemma :) Oh! and if someone find a better solution - I'm all ears!
Thank you.