对于Mac OSX 10.6.8中的Google Chrome版本28.0.1500.71,以下JSFiddle对我不起作用:
$.when(queryYoutube('bob+dylan')).done(function(youtube_response){
console.log('done');
console.log(youtube_response);
});
function queryYoutube(search_string){
var src = "http://gdata.youtube.com/feeds/api/videos?" +
"&v=2" +
"&alt=json" +
"&format=5" +
"&orderby=relevance" +
"&safeSearch=none" +
"&q=" + search_string;
console.log(src);
var getJSON = $.getJSON(src);
return getJSON;
}
我正在使用$ .when()。done()来查询Youtube Data API v2。 JSFiddle虽然适用于Mountain Lion的Chrome以及Mac Snow Leopard上的Firefox和Safari。
在其他浏览器中,它在控制台中打印“完成”。对于Snow Leopard的Chrome版本,虽然我在顶部列出,但“完成”从未打印过,似乎永远不会输入.done()语句。