javascript - 추천 - googleanalyticsobject



교차 도메인 XMLHttpRequests에 대한 브라우저 지원을 감지합니까? (3)

IE8에는 나중에 DOM으로 파싱 할 수있는 텍스트로 RSS를 검색하는 데 사용할 수있는 XDomainRequest 객체가 있습니다.

https://src-bin.com

파이어 폭스 3.5의 크로스 도메인 XMLHttpRequests 수행 능력을 사용하는 일부 자바에서 일하고 있어요 ...하지만 지원되지 않는 경우 정상적으로 실패하고 싶습니다.

실제로 도메인 간 요청을 만드는 것 외에도 브라우저에 대한 지원을 감지 할 수있는 방법이 있습니까?


Answer #1

나중에 참조 할 수 있도록 전체 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 는 지원하지 않는 브라우저 환경이 아닌 경우가 있습니다. 이 테스트는 이러한 상황을 설명하지 않습니다.


Answer #2

http://hacks.mozilla.org/2009/07/cross-site-xmlhttprequest-with-cors/ 에 따르면 다음을 사용할 수 있어야합니다.

if ('withCredentials' in new XMLHttpRequest()) {
    /* supports cross-domain requests */
}

(참고 : Chrome 2에서이 테스트를 통과하지 못했다는 의견이 있습니다 (교차 도메인 요청을 지원하지만) Chrome 3을 테스트 한 결과 테스트가 통과되었습니다.)

브라우저가 교차 도메인 API를 지원한다고해서 대상 서버가 요청을 완료 할 수 있음을 의미하지는 않습니다.





cross-domain