크로스 도메인 XMLHTTPREQUESTS에 대한 브라우저 지원 감지?
-
08-07-2019 - |
문제
나는 Firefox 3.5의 크로스 도메인 XMLHTTPrequests를 수행하는 능력을 사용하는 JavaScript를 연구하고 있습니다. 그러나 지원되지 않으면 우아하게 실패하고 싶습니다.
실제로 크로스 도메인 요청을하는 것 외에도 브라우저의 지원을 감지 할 수있는 방법이 있습니까?
해결책
향후 참조를 위해 Full CORS 기능 탐지는 다음과 같습니다.
//Detect browser support for CORS
if ('withCredentials' in new XMLHttpRequest()) {
/* supports cross-domain requests */
document.write("CORS supported (XHR)");
}
else if(typeof XDomainRequest !== "undefined"){
//Use IE-specific "CORS" code with XDR
document.write("CORS supported (XDR)");
}else{
//Time to retreat with a fallback or polyfill
document.write("No CORS Support!");
}
당신은 할 수 있습니다 JSBIN을 사용 하여이 테스트를 실시간으로 사용해보십시오 IE, Firefox, Chrome, Safari 및 Opera의 적절한 응답을보십시오.
브라우저가 아닌 환경에는 몇 가지 에지 사례가 있습니다 지원하십시오 크로스 도메인 XHR이지만 XHR2/CORS는 아닙니다. 이 테스트는 그러한 상황을 설명하지 않습니다.
다른 팁
에 따르면 http://hacks.mozilla.org/2009/07/cross-site-xmlhttprequest-with-cors/ 사용할 수 있어야합니다.
if ('withCredentials' in new XMLHttpRequest()) {
/* supports cross-domain requests */
}
(참고 :이 페이지에 Chrome 2 가이 테스트에 실패한다는 의견이 있습니다.
브라우저가 지원할 수 있기 때문에 크로스 도메인 API 대상 서버가 요청이 완료되도록 허용한다는 의미는 아닙니다.
IE8도 있습니다 xdomainrequest RSS를 텍스트로 검색하는 데 사용할 수있는 객체는 나중에 DOM으로 구문 분석 할 수 있습니다.
제휴하지 않습니다 StackOverflow