Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Amigos, meu script está funcionando, tanto no IE quanto no FF. Só que algo me intriga. Se eu inverter a ordem do IF e ELSEIF, o script nao roda no IE e aparece aquela plaquinha amarela dando Access Denied.
Chamo esta função para abrir o XML
function xmlLoader(url){
if(window.ActiveXObject){
var Loader = new ActiveXObject("Msxml2.DOMDocument.3.0");
Loader.async = false;
Loader.load(url);
return Loader;
}
else if(window.XMLHttpRequest){
var Loader = new XMLHttpRequest();
Loader.open("GET", url ,false);
Loader.send(null);
return Loader.responseXML;
}
}
Repare que primeiro ele testa o ActiveXObject do IE e depois o do FF. Se eu fizer o contrário, verificar primeiro o bendito objeto XMLHttpRequest, dá erro na parte
Loader.open("GET", url ,false);
Em outras palavras, o XMLHttpRequest existe no IE, mas o método open não. Ou ele não pode ser manipulado do jeito que está sendo.
As dúvidas são: existe como evitar que isso aconteça? Tipo outra verificação... O que afirmei acima sobre existir o XMLHttpRequest, mas não o método open, está correto?
Descobri simplesmente retirando a parte do FF e vendo que funcionava no IE. Ai troquei a ordem e foi. Deduzi o resto.
Carregando comentários...