Autor Zpráva
Aringarosa
Profil *
jak mam tedy to spolehlive testovat at vim jestli pouzit XHTMLHttpRequest nebo active..bla.
ja tedy nevim :(
Martin
Profil
já to testuji zatím takhle
if(window.XMLHttpRequest) {

XMLHttpRequestObject = new XMLHttpRequest();
}
else if (window.ActiveXObject) {
XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
}
WanTo
Profil
Bude to fungovat v IE s vypnutými ActiveX? Je pak v práci s XMLHttpRequest a tím z ActiveX ještě nějaký rozdíl?
Leo
Profil
IE nezna window.XMLHttpRequest, takze bez ActiveXu mate s AJAXem smulu, Leo
Leo
Profil
"Je pak v práci s XMLHttpRequest a tím z ActiveX ještě nějaký rozdíl?"

Je. Viz napr.

http://developer.apple.com/internet/webcontent/xmlhttpreq.html

a mnohe jine na Google.

Leo
WanTo
Profil
A co IE7? Jak je na tom s XMLHttpRequest?
Leo
Profil
Netusim, ale treba neco vygooglite, Leo
Aringarosa
Profil *
a co tohle?
var req;

function loadXMLDoc(url) {
req = false;
// branch for native XMLHttpRequest object
if(window.XMLHttpRequest) {
try {
req = new XMLHttpRequest();
} catch(e) {
req = false;
}
// branch for IE/Windows ActiveX version
} else if(window.ActiveXObject) {
try {
req = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
try {
req = new ActiveXObject("Microsoft.XMLHTTP");
} catch(e) {
req = false;
}
}
}
if(req) {
req.onreadystatechange = processReqChange;
req.open("GET", url, true);
req.send("");
}
}
WanTo
Profil
Chápu to tak, že se pokusí třemi způsoby získat XMLHttpRequest:
1) pomocí třídy XMLHttpRequest
2) Z ActiveX objektu Msxml2.XMLHTTP
3) Z ActiveX objektu Microsoft.XMLHTTP

Nakonec, pokud byl XMLHttpRequest vytvořen (podmínka if(req)), tak odešle GET požadavek na nějaké URL.
Aringarosa
Profil *
jj, presne tak to funguje.myslim ze to bude spolehlive, nasel jsem i jine moznosti ale tohle se mi zda tak akorat.jenom Microsoft.XMLHTTP asi nebudu testovat dnes uz by to melo byt zbytecne kdyz je Msxml2.XMLHTTP ne?
Martin
Profil
Co to zkusit testovat takhle?
try {

XMLHttpRequestObject = new ActiveXObject("MSXML2.XMLHTTP");
} catch(exception1) {
try {
XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
} catch(exception2) {
try {
XMLHttpRequestObject = new XMLHttpRequest();
} catch(exception3) {
XMLHttpRequestObject = false;
}
}
}

Je to špatné?
Leo
Profil
No a co vam vadilo na prostem

if(window.XMLHttpRequest) {...

Leo
Chamurappi
Profil
Reaguji na Aringarosu:
Není to XHTMLHttpRequest, ale XMLHttpRequest. S XHTML vůbec nesouvisí.

Microsoft.XMLHTTP asi nebudu testovat dnes uz by to melo byt zbytecne kdyz je Msxml2.XMLHTTP ne?
Pokud vím, tak MSXML2.XMLHTTP se snaží použít dvojkovou verzi onoho objektu, zatímco Microsoft.XMLHTTP sahá po té nejnovější. Dvojka je nejstarší.


Reaguji na Martina:
Není to špatné, ale moc ukecané. Nešlo by to trochu zestručnit?
var XMLHttpRequestObject = window.XMLHttpRequest ? new XMLHttpRequest() : (window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : null)

Dodatek: Koukám, že ty už jsi to stručnější měl.
Oswald
Profil
A co IE7? Jak je na tom s XMLHttpRequest?

Tam to je nativní JS objekt stejně jako třeba ve Firefoxu.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0