为了加载 google oauth 客户端库,我们必须使用这个脚本标签
<script src="https://apis.google.com/js/client.js?onload=load"></script>
加载 client.js 后将调用 load 方法。
我在我的应用程序中使用 dojo
我如何使用 dojo 加载它?
我尝试过使用 dojo/request/script 但回调方法由无法修改的 dojo 采用
任何帮助我怎么能做到这一点,
谢谢
为了加载 google oauth 客户端库,我们必须使用这个脚本标签
<script src="https://apis.google.com/js/client.js?onload=load"></script>
加载 client.js 后将调用 load 方法。
我在我的应用程序中使用 dojo
我如何使用 dojo 加载它?
我尝试过使用 dojo/request/script 但回调方法由无法修改的 dojo 采用
任何帮助我怎么能做到这一点,
谢谢
回调被发送到延迟的 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格式的回调函数。这不起作用,因为谷歌正在使用 window[nameoffunction] 进行回调。因此,您可以手动为脚本 IO 添加参数。在下面使用:
script.get("https://apis.google.com/js/client.js", {
//jsonp: "onload",
query: {
onload:<callbackfunction>
}
})