Youtube API loadVideoByUrl() function



我有这个代码,它在 Html 代码的div 上添加 YouTube 频道的视频(和视频信息)(_POST美元),我想在点击元素后在 Youtube 播放器中播放视频:

    var args= "url="+urlchaine;
    xhr_object.open("POST", "traitement.php", true);
    xhr_object.onreadystatechange = function() { 
    if(xhr_object.readyState == 4) {
            eval(xhr_object.responseText);
        }
        return xhr_object.readyState;
}
xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr_object.send(args);

叛徒.php :

<?php
 if ( isset($_POST["url"]) && !empty($_POST["url"]) )
$urlchaine = $_POST["url"];
 else
$urlchaine = null;
 $stringresult = str_replace("http://www.youtube.com/user/", "",$urlchaine);
 require_once "Zend/Loader.php";
 Zend_Loader::loadClass('Zend_Gdata_YouTube');
 $yt = new Zend_Gdata_YouTube();
 $videoFeed = $yt->getVideoFeed('http://gdata.youtube.com/feeds/users/...');
 if ( $stringresult != null){
  echo "var mydiv = document.getElementById('vids');";
  echo "var newcontent = document.createElement('div');";
  foreach ($videoFeed as $v): $thumbs = $v->getVideoThumbnails();
echo "newcontent.innerHTML = '...'";
echo "mydiv.appendChild(newcontent.firstChild);";
  endforeach;
  echo "img_videos.addEventListener('click',function () {
     $('#ytplayer_footer').fadeIn('normal');
     var idvideo = this.getAttribute('idvideo');
     var ytplayer = document.getElementById('ytplayer');
     ytplayer.loadVideoByUrl('...'); // ****** Here the problem
     ytplayer.playVideo();
  },false);";
 ?>

我有这个错误:对象#没有方法"加载视频按网址"我的代码出了什么问题?

您可能在这里有一些引号转义问题。看看这一行:

var ytplayer = document.getElementById("ytplayer");
您使用的是双引号

,但您的"echo"语句也使用双引号。将其切换到单引号,看看会发生什么。我有点惊讶这段代码运行了。

(看起来问题已更改)

需要注意的另一件事是,您似乎没有在任何地方加载YouTube JS。您正在加载运行服务器端的 PHP 客户端库,但您还需要加载 JavaScript 库客户端 - 否则您只是尝试在原版 DOM 对象上调用"loadVideoByUrl()"。

相关内容

  • 没有找到相关文章

最新更新