XDomainRequest

ie8 、ie9跨域使用XDomainRequest

XDomainRequest 是在 Internet Explorer 8 和 9 中,使用 HTTP 访问控制(CORS)的实现。它在 Internet Explorer 10 中已被删除,应改为使用 XMLHttpRequest 以及配置相应的 CORS;如果您的目标是 Internet Explorer 10 或更高版本,或者希望支持任何其他浏览器,则需要使用标准的 HTTP 访问控制。

注意: xdr.send() 调用被包装在一个超时中(请参阅 window.setTimeout()),以防止接口出现问题,如果同时发送多个 XDomainRequest,则某些请求会丢失。

注意: 应该始终定义 xdr.onprogress 事件,即使它是一个空函数,否则 XDomainRequest 对于重复请求,可能不会触发 onload 事件。

if(window.XDomainRequest){
  var xdr = new XDomainRequest();

  xdr.open("get", "http://example.com/api/method");

  xdr.onprogress = function () {
    // 处理中
  };

  xdr.ontimeout = function () { 
    // 超时
  };

  xdr.onerror = function () { 
    // 发生错误
  };

  xdr.onload = function() {
    //success(xdr.responseText);
  }

  setTimeout(function () {
    xdr.send();
  }, 0);
}

http://m.fndoc.com/api/XDomainRequest.html

posted @ 2022-09-15 20:08  Running00  阅读(173)  评论(0编辑  收藏  举报