YouTube videoId来自输入API

时间:2014-08-26 03:16:33

标签: javascript youtube youtube-api

我正在尝试使用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所以对我很容易..

1 个答案:

答案 0 :(得分:0)

您的代码没有语法错误,但不会产生所需的结果。功能onYouTubeIframeAPIReady仅在加载YouTube的API库时执行,我猜你当时input-field没有任何内容。但是没有规定让玩家动态观看和加载视频,所以你必须自己构建一个。例如,您可以利用提交按钮并使用YT的loadVideoById方法,如下所示:

$messageForm.submit(function(e){
    e.preventDefault();
    if (typeof player !== "undefined") {
       player.loadVideoById($(input.val()));
    }
});