2

コンテンツサービスを使用してGoogleアプリscriptDBからJSONデータを取得するスクリプトがあります。私はjQueryJSONPを使用しています(明らかにGASからのクロスドメインであるため)。ChromeとSafariではすべて正常に動作していますが、IEではもちろん問題が発生しています。

このIE/MSDNの記事に出くわしました。この記事では、クロスドメインJSONPを特定のmimeタイプとして提供する必要があると説明していますが、Google AppsScriptContentサービスでmimeタイプを次のように変更できるとは思いません。許容値の1つ。

代わりに、私はxDomainRequestを見てきましたが、このコードにはSCRIPT5が含まれています。IE9およびIE10のxdr.open()行でアクセスが拒否されています。

  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 に答える