2014-01-13 1 views
0

이 코드는 Html 코드의 div에 YouTube 채널 ($ _POST)의 동영상 (및 비디오 infos)을 추가하고 Youtube에서 동영상을 재생하고 싶습니다.Youtube API loadVideoByUrl() function

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); 

traitement.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);"; 
?> 

을 그리고 난이 오류가 : 플레이어 후 요소를 클릭 개체 #에는 방법이 없습니다 'loadVideoByUrl'내 코드에 잘못 무엇 ?

답변

0

일부 견적 이스케이프 문제가 여기에있을 수 있습니다. 이 라인을 살펴보십시오 :

var ytplayer = document.getElementById("ytplayer"); 

"echo"문도 큰 따옴표를 사용합니다. 그것을 작은 따옴표로 바꾸고 무슨 일이 일어나는 지보십시오. 나는이 코드가 전혀 실행되지 않는다는 것에 약간 놀랐다.

피려 다른 것은 당신이 어디서나 유튜브 JS를로드 할 것 없다는 것입니다 (질문이 변경된 것 같은데). 서버 측을 실행하는 PHP 클라이언트 라이브러리를로드하고 있지만 JavaScript 라이브러리 클라이언트 측을로드해야합니다. 그렇지 않으면 바닐라 DOM 객체에서 "loadVideoByUrl()"을 호출하려고합니다.

+0

질문을 변경 했습니까? –

+0

복사/붙여 넣기 오류, 죄송합니다. 코드를 수정했습니다. – user3185672

+0

어떻게하면됩니까? loadVideoByUrl 호출 전에 YouTubePlayerReady() 함수를 호출하려고했지만 아무 것도 변경하지 않습니다. – user3185672