检测 XHR 是否支持 CORS 的最简单方式, 就是检查是否存在 withCredentials 属性. 再结合检测 XDomainRequest 对象是否存在, 就可以兼顾所有浏览器了.
- function createCORSRequest(method,url){
- var xhr = new XMLHttpRequest();
- if('withCredentials' in xhr){
- xhr.open(method,url,true);
- } else if(typeof XDomainRequest != 'undefined'){
- xhr = new XDomainRequest();
- xhr.open(method,url);
- } else{
- xhr = null;
- }
- return xhr;
- }
- var request = createCORSRequest('get','http://www.somewhere-else.com/page/');
- if(request){
- request.onload = function(){
- // 对 request.responseText 进行处理
- };
- request.send();
- }
来源: http://www.qdfuns.com/article/50494/b12ea1ea9167e251486cbce8fe6f9496.html