是否有window["onYouTubePlayerAPIReady"]
的替代方案?我需要执行一个函数,如果youTube Player API准备就绪,但window["onYouTubePlayerAPIReady"]
已经在另一个无法修改的脚本中使用。
答案 0 :(得分:1)
如果您有多个onYouTubePlayerAPIReady
函数声明,则前一个函数将被覆盖,永远不会被调用。
替代解决方案是在第一个onYouTubePlayerAPIReady
函数上保留一个引用,然后在你自己或第二个onYouTubePlayerAPIReady
函数内调用你保存的函数引用。
setTimeout( function() {
if ( typeof window.onYouTubePlayerAPIReady !== 'undefined' ) {
if ( typeof window.gambitOtherYTAPIReady === 'undefined' ) {
window.gambitOtherYTAPIReady = [];
}
window.gambitOtherYTAPIReady.push( window.onYouTubePlayerAPIReady );
}
window.onYouTubePlayerAPIReady = function() {
// Initialize YT.Player and do stuff here
if ( typeof window.gambitOtherYTAPIReady !== 'undefined' ) {
if ( window.gambitOtherYTAPIReady.length ) {
window.gambitOtherYTAPIReady.pop()();
}
}
}
查看此page以获取更多信息。