Javascript onYouTubeIframeAPIReady函数未调用
我想调用Javascript onYouTubeIframeAPIReady函数未调用,javascript,jquery,youtube-api,Javascript,Jquery,Youtube Api,我想调用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);
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();
};
});
必须全局定义onyoutubeiframeapiredy()函数。只需更换线路即可
function onYouTubeIframeAPIReady() {
与
加载youtube iframe api库文件也很重要:
<script type="text/javascript" src="https://www.youtube.com/iframe_api"></script>
如果有人在这里挣扎,这就是解决问题的方法 添加-因为在脚本中调用它会导致问题 另外,请确保使用-window.onYouTubeIframeAPIReady=function(){
这两件事解决了两天的愤怒问题。你的答案没有任何改进。为什么要在已经解决的问题上给出答案呢?如果你发现一个好答案,请投上一票。
<script type="text/javascript" src="https://www.youtube.com/iframe_api"></script>
http://www.youtube.com/embed/M7lc1UVf-VE?enablejsapi=1