我想做的是:
YT
对象传递给它,以便我可以从内部构建播放器。这是我到目前为止所做的。它有效,但我感觉有些不对劲。我不确定应该这样做。
jQuery.getScript("http://www.youtube.com/iframe_api"); // load YT api
jQuery(document).ready(function() {
onYouTubeIframeAPIReady = function() {
new my_custom_function().init(YT); // init my function and pass YT object
};
});
如果有人能说清楚做到这一点的最佳方式,我会很感激。我确实需要在my_custom_function()
内构建玩家。
答案 0 :(得分:8)
由于onYouTubeIframeAPIReady
函数必须在全局范围内,我想我们不能在jQuery的文档就绪回调中绑定它。我看到的一个解决方法是使用jQuery deferred objects。首先,我们创建一个deffered对象并在onYouTubeIframeAPIReady
回调
var YTdeferred = $.Deferred();
window.onYouTubeIframeAPIReady = function() {
YTdeferred.resolve(window.YT);
};
然后等待文档就绪
后解析延迟对象$(document).ready(function() {
YTdeferred.done(function(YT) {
// use YT here
});
});