2

我有一个脚本,它使用内容服务从谷歌应用程序 scriptDB 获取一些 JSON 数据。我正在使用 jQuery JSONP(因为它显然是来自 GAS 的跨域)。在 Chrome 和 safari 上一切正常,但在 IE 上,我当然遇到了问题。

我遇到了这篇IE/MSDN 文章,它描述了现在需要将跨域 JSONP 作为特定的 mime 类型才能与 IE 一起使用 - 但我不相信在 Google Apps Script Content 服务中我可以将 mime 类型更改为可接受的值之一。

因此,相反,我一直在查看 xDomainRequest - 但是这段代码带有 SCRIPT5:在 xdr.open() 行上的 IE9 和 IE10 上访问被拒绝。

  if (window.XDomainRequest) {
    // its IE
    var xdr = new XDomainRequest();
    xdr.open("get", url);
    xdr.onload = function() {
        deferred.resolve(JSON.parse(xdr.responseText));
    }
    xdr.onerror(function() {
        deferred.reject("error with IE xdomain request for " + url);
    });
    xdr.send();

  }
  else {
    $.getJSON(url, null, 
        function (data) {
            deferred.resolve(data);
    })
    .error(function(res, status, err) {
        deferred.reject("error " + err + " for " + url);
    });
  }

  return deferred.promise();

正在获取的 URL 是 https://script.google.com/macros/s/AKfycbzc0yBs8FfUZyJP1IhGpeTx-MsC288Ml6VYHjnqN9B9Kl3phHuh/exec?panelset=xliberation_panel&callback=

整个脚本是http://xliberation.com/s/badgemanager.html

我看过很多与此相关的主题的帖子,但我无法做出任何工作。有没有人明确地想出用于 IE/GAS 组合的 JSONP?

4

1 回答 1

1

在问题跟踪器上提交功能请求;我们没有理由不能添加您需要的类型。(作为回答,我认为之前没有人在跟踪器上提出过这个问题,我们也没有意识到这一点。)

于 2013-02-10T21:53:45.373 回答