我正在尝试使用YouTube API,并且我通过在文本输入中输入网址来坚持获取videoId。
这是代码;
var player;
var $input = $('#input-field');
var $messageForm = $('#input-form');
$messageForm.submit(function(e){
e.preventDefault();
console.log ($input.val());
$input.val('');
});
function onYouTubeIframeAPIReady() {
player = new YT.Player('player', {
height: '390',
width: '640',
videoId: $input.val(), // The video must be loaded based on $input.val()
events: {
onReady: onPlayerReady,
'onStateChange': onPlayerStateChange,
onError: onPlayerError
},
playerVars: {
enablejsapi: 1,
controls: 0,
disablekb: 1,
fs: 0,
iv_load_policy: 3,
modestbranding: 1,
rel: 0,
showinfo: 0
}
});
}
我是新的和学习javascript所以对我很容易..
答案 0 :(得分:0)
您的代码没有语法错误,但不会产生所需的结果。功能onYouTubeIframeAPIReady
仅在加载YouTube的API库时执行,我猜你当时input-field
没有任何内容。但是没有规定让玩家动态观看和加载视频,所以你必须自己构建一个。例如,您可以利用提交按钮并使用YT的loadVideoById方法,如下所示:
$messageForm.submit(function(e){
e.preventDefault();
if (typeof player !== "undefined") {
player.loadVideoById($(input.val()));
}
});