Zależy od przeglądarki, chciałbym określić, który obiekt powinien zostać użyty. Dla IE < 10 powinno być XDomainRequest
, dla reszty XMLHttpRequest
.Jak ustalić, czy używać XMLHttpRequest lub XDomainRequest?
if(window.XDomainRequest) //basically 'if IE'
//XDomainRequest
else
//XMLHttpRequest
Od IE10 ma poparcie Cross-Origin Resource Sharing, to lepiej użyć XMLHttpRequest
obiekt z nim. Ten kod nie będzie już działał dobrze (przypuszczam, że IE10 nadal ma wsparcie dla XDomainRequest
, popraw mnie, jeśli się mylę, nie mogę go przetestować). Bezpośrednie sprawdzenie przeglądarki nie jest najbezpieczniejszym sposobem ustalenia rzeczy. Więc moje pytanie, jaki jest najlepszy sposób określenia, który obiekt powinien zostać użyty? Szukam czystego rozwiązania JS (nie jQuery).
Spróbuj użyć XMLHttpRequest, a jeśli nie uda się na przykład w try/catch użyj XdomainRequest. Jedno pytanie, czy w ogóle wysyłasz żądania do innych domen? – apelsinapa
Tak, dlatego nie mogę użyć twojego pomysłu - IE <10 ma również obiekt "XMLHttpRequest", ale nie można go użyć do żądania domeny zagranicznej. – geehertush01
Czy to ci pomoże? http://stackoverflow.com/questions/1641507/detect-browser-support-for-cross-domain-xmlhttprequests – apelsinapa