onYouTubeIframeAPIReady函数没有调用
我想调用onYouTubeIframeAPIReady
函数,但这不是触发。 我在控制台中只得到frameID
但其他函数没有被调用。
$(document).ready(function(){ var player; var ytsrc = $('.video_holder_frame').find('iframe').attr('src'); if (ytsrc) ytsrc = ytsrc.match(/youtube.com\/embed\/([^\\?]*)/i); if (!ytsrc) return; var frameID = 'youtube_' + ytsrc[1]; console.log(frameID); $('.video_holder_frame').find('iframe').attr('id', frameID); function attachToYoutubeFrame() { console.log("attachToYoutubeFrame"); function onytplayerStateChange(newState) { console.log("onytplayerStateChange"); console.log(newState); }; player = new YT.Player(frameID, { events: { "onStateChange": onytplayerStateChange } }); }; function onYouTubeIframeAPIReady() { attachToYoutubeFrame(); }; });
您的onYouTubeIframeAPIReady()函数必须全局定义。 只需更换线路即可
function onYouTubeIframeAPIReady() {
同
window.onYouTubeIframeAPIReady = function() {
加载youtube iframe api库文件也很重要:
你的iframe src url也必须附加enablejsapi = 1参数:
http://www.youtube.com/embed/M7lc1UVf-VE?enablejsapi=1
如果有人在这里挣扎,那就是解决它的人……
添加 – 因为在脚本中调用它会导致问题
此外,请确保您使用 – window.onYouTubeIframeAPIReady = function(){
这两件事情固定了两天的愤怒。