【发布时间】:2010-12-18 20:59:13
【问题描述】:
我正在尝试使用 YouTube API 来控制多个 YouTube 视频。我正在关注google code example。但问题是它们的监听器回调需要一个全局字符串。
ytplayer.addEventListener("onStateChange", "onPlayerStateChange");
其中ytplayer 是包含Flash 视频播放器的“对象”元素。按照他们的例子,我似乎需要为每个玩家创建一个新的全局函数——onPlayerStateChange2 等。他们不允许函数引用(匿名或其他)代替字符串,并且本地定义的字符串不起作用任何一个。如何避免显式命名的全局函数?以下作品
var localStateChangeHandler = function (newState) {
updateHTML("playerState", newState);
}
var globalStateChangeString = 'onPlayerStateChange'+ytplayer.id;
eval(globalStateChangeString + ' = localStateChangeHandler');
ytplayer.addEventListener("onStateChange", globalStateChangeString);
但它不是很漂亮,它仍在创建全局函数,并且使用“eval”。有没有更好的办法?
【问题讨论】:
标签: javascript youtube youtube-api