将谷歌的asynchronous loading docs刷入道场的asynchronous loader收益率:
dojo.io.script.get({
url: 'http://maps.googleapis.com/maps/api/js',
jsonp: 'callback',
content: {
sensor: 'false'
},
load: function() {
console.log('done');
},
error: function() {
console.log('error');
}
});
或者说它:http://jsfiddle.net/sKNmS/
加载了地图JS文件,但从不调用回调。为什么呢?
答案 0 :(得分:0)
dojo.io.script.get
仅适用于JSONP服务。永远不会调用你的回调,因为据我所知,该URL不会返回JSONP格式的响应,只是简单的JavaScript。
dojo.io.script.get
设置一个回调,预计会从该URL返回的代码触发。由于该URL指向普通的JavaScript,因此该函数永远不会被触发,因为响应不是JSONP。
答案 1 :(得分:0)
看起来dojo.io.script.get()
不支持Google地图延迟调用JSONP回调。
我填写了一个道场feature request。
答案 2 :(得分:0)
还有另一种方法(在dojo 1.6上测试):
dojo.io.script.get({
url: 'http://maps.googleapis.com/maps/api/js'
}).then(function() {
console.log('done');
});
由于 dojo.io.script.get 会返回Deferred对象。