【问题标题】:JavaScript API call for IE8 compatibility用于 IE8 兼容性的 JavaScript API 调用
【发布时间】:2014-08-14 00:07:58
【问题描述】:

因为 IE8 太旧了,所以我在任何地方都找不到这方面的文档。我只是尝试使用 JavaScript 进行 Google API 调用。 python中的东西看起来像这样:

    page= urlopen("http://example.com")
    response = page.read()

我发现一些文档说要使用 XMLHttpRequest。我不太确定语法,但它看起来类似于以下内容:

    var req = new XMLHttpRequest();
    //req.responseType = 'JSON'; to get JSON?
    req.open("GET", url, false);
    req.send();

对于在 IE8 中工作的东西,API 调用的 JS 代码是什么样的?

【问题讨论】:

    标签: javascript internet-explorer-8 get restful-architecture


    【解决方案1】:

    XMLHttpRequest is supported since IE 7

    如果您需要支持不知道 XMLHttpRequest 对象的浏览器,您应该使用 polyfill,它会模拟默认的 API 行为。

    Modernizr 项目是一个很好的列表:"HTML5 Cross Browser Polyfills – The No-Nonsense Guide to HTML5 Fallbacks"

    我使用了以下 sn-p 来为不同的 MS IE 版本提供 XMLHttpRequest 对象:

    if (typeof XMLHttpRequest === 'undefined') {
      /* XMLHttpRequest polyfill */
      var XMLHttpRequest = function () {
        try { return new ActiveXObject( 'Msxml2.XMLHTTP.6.0' ); }
        catch (e) {}
        try { return new ActiveXObject( 'Msxml2.XMLHTTP.3.0' ); }
        catch (e) {}
        try { return new ActiveXObject( 'Microsoft.XMLHTTP' ); }
        catch (e) {}
        throw new Error( 'This browser does not support XMLHttpRequest.' );
      };
    }
    

    【讨论】:

    • 如果我想调用发送或响应之类的函数,则不会。没有这些功能我该怎么办?
    猜你喜欢
    • 2013-06-16
    • 2011-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-22
    • 1970-01-01
    • 2013-09-08
    相关资源
    最近更新 更多