我有这个代码,它在 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()"。