J'ai un probleme concernant le XMLHttpRequest, je m'explique :
Sous Firefox, tout marche niquel, mais sous IE6 et IE7 cela ne marche pas du tout, et de plus sous les 2 versions d'IE, le problème semble différé. En effet, je verifie ce dernier à l'aide de cette fonction :
Code :
function getXMLHTTP()
{
var xhr = null;
if (window.XMLHttpRequest) // Firefox et autres
{
xhr = new XMLHttpRequest();
}
elseif (window.ActiveXObject) // Internet Explorer
{
try
{
xhr = new ActiveXObject("Microsoft.XMLHTTP" );
}
catch (e)
{
try
{
xhr = new ActiveXObject("Msxml2.XMLHTTP" );
}
catch (e1)
{
xhr = null;
}
}
}
else// XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..." );
return xhr;
}
et je recupere la fonction comme ceci :
Code :
if (_xmlHttp && _xmlHttp.readyState != 0)
_xmlHttp.abort();
_xmlHttp = getXMLHTTP();
if (_xmlHttp)
{
//appel à l'url distante
_xmlHttp.open("GET", url, true);
_xmlHttp.onreadystatechange = function() // Marche pas sous IE
{
if (_xmlHttp.readyState == 4 && _xmlHttp.responseXML)
{
var liste = traiteXmlSuggestions(_xmlHttp.responseXML);
var id_liste = idfilmsListe;
cacheResults(valeur, liste, id_liste);
metsEnPlace(valeur, liste, id_liste);
}
};
// envoi de la requete
_xmlHttp.send(null);
}
Le problème est que sous IE7, il n'aime pas le" _xmlHttp.onreadystatechange = function()", il me met comme erreur "code 0, accès refusé".
sous IE6, il passe sans probleme cette ligne, mais par la suite du code il n'aime pas l'attribut "getElementsByTagName" (qui apparement ne marche que sous FF), mais comme je parse un fichier XML, je ne vois pas comment appeller autrement pour que cela marche.
<film id="CO284853" titre="10 Canoës, 150 lances et 3 épouses"/>
<film id="CO278917" titre="12 h 08 à l'est de Bucarest"/>
...
</films>
Quelqu'un saurait pourquoi ?
P.S : J'ai essayé de specifier le type mime mais cela ne marche pas. De plus sous IE7, d'apres ce que j'ai compris, apparement, les ActiveX ne sont plus d'actualité, donc il se sert de "xhr = new XMLHttpRequest();"
Merci
Message édité par krovomi le 01-03-2007 à 11:38:28
Marsh Posté le 01-03-2007 à 10:17:30
Bonjour,
J'ai un probleme concernant le XMLHttpRequest, je m'explique :
Sous Firefox, tout marche niquel, mais sous IE6 et IE7 cela ne marche pas du tout, et de plus sous les 2 versions d'IE, le problème semble différé.
En effet, je verifie ce dernier à l'aide de cette fonction :
et je recupere la fonction comme ceci :
Le problème est que sous IE7, il n'aime pas le" _xmlHttp.onreadystatechange = function()", il me met comme erreur "code 0, accès refusé".
sous IE6, il passe sans probleme cette ligne, mais par la suite du code il n'aime pas l'attribut "getElementsByTagName" (qui apparement ne marche que sous FF), mais comme je parse un fichier XML, je ne vois pas comment appeller autrement pour que cela marche.
Mon fichier XML se presente comme ca :
Quelqu'un saurait pourquoi ?
P.S : J'ai essayé de specifier le type mime mais cela ne marche pas.
De plus sous IE7, d'apres ce que j'ai compris, apparement, les ActiveX ne sont plus d'actualité, donc il se sert de "xhr = new XMLHttpRequest();"
Merci
Message édité par krovomi le 01-03-2007 à 11:38:28