1

Google OAuth クライアント ライブラリをロードするには、このスクリプト タグを使用する必要があります。

<script src="https://apis.google.com/js/client.js?onload=load"></script>

client.js がロードされた後に load メソッドが呼び出されます。

アプリケーションで Dojo を使用しています

Dojoを使用してこれをロードするにはどうすればよいですか?

dojo/request/script を試してみましたが、コールバック メソッドは変更できない dojo によって取得されます

どうすればこれを行うことができますか、

ありがとう

4

1 に答える 1

2

コールバックは、遅延 then パラメータに送信されます::

require(["dojo/request/script", "dojo/dom", "dojo/dom-construct", "dojo/json", "dojo/on", "dojo/domReady!"],

function (script, dom, domConst, JSON, on) {
    on(dom.byId("startButton"), "click", function () {
        domConst.place("<p>Requesting...</p>", "ret");
        script.get("http://ajax.googleapis.com/ajax/services/search/web", {
            jsonp: "callback",
            query: {
                "v": "1.0",
                "q": "internet kittens"
            }
        }).then(function (data) {
            //Call you function here, or deal with data
            domConst.place("<p>response data: <code>" + JSON.stringify(data) + "</code></p>", "ret");
        });
    });
});

フィドル:: http://jsfiddle.net/D49GP/

更新 これに対して通常の dojo 構文を使用することはできません。問題は、dojo が then のコールバックを作成するときに、コールバック関数を object.method 形式で作成することです。Google がコールバックに window[nameoffunction] を使用しているため、これは機能しません。したがって、スクリプト IO のパラメーターを手動で追加できるためです。以下を使用します。

  script.get("https://apis.google.com/js/client.js", {
            //jsonp: "onload",
            query: {
                onload:<callbackfunction>

            }
        })
于 2014-02-12T15:10:59.913 に答える