Tùy thuộc vào trình duyệt, tôi muốn xác định đối tượng nào sẽ được sử dụng. Đối với IE < 10, nó phải là XDomainRequest
, đối với phần còn lại XMLHttpRequest
.Cách xác định xem có nên sử dụng XMLHttpRequest hoặc XDomainRequest không?
if(window.XDomainRequest) //basically 'if IE'
//XDomainRequest
else
//XMLHttpRequest
Vì IE10 có hỗ trợ chia sẻ tài nguyên gốc, tốt hơn nên sử dụng đối tượng XMLHttpRequest
. Mã này sẽ không hoạt động tốt nữa (Tôi cho rằng IE10 vẫn có hỗ trợ cho XDomainRequest
, sửa tôi nếu tôi nhầm lẫn, tôi không thể kiểm tra nó). Kiểm tra trực tiếp trình duyệt không phải là cách an toàn nhất để xác định mọi thứ. Vì vậy, câu hỏi của tôi, cách tốt nhất để xác định đối tượng nào nên được sử dụng? Tôi đang tìm kiếm giải pháp JS (không phải jQuery) tinh khiết.
Hãy thử sử dụng XMLHttpRequest, và nếu nó không thành công trong ví dụ sử dụng lệnh try/catch XdomainRequest. Tuy nhiên, một câu hỏi là bạn có gửi yêu cầu đến các miền khác không? – apelsinapa
Vâng, đó là lý do tại sao tôi không thể sử dụng ý tưởng của bạn - IE <10 cũng có đối tượng 'XMLHttpRequest', nhưng nó không thể được sử dụng để yêu cầu tên miền nước ngoài. – geehertush01
Điều này có giúp ích gì cho bạn không? http://stackoverflow.com/questions/1641507/detect-browser-support-for-cross-domain-xmlhttprequests – apelsinapa