2011-01-08 4 views
3

Ich spiele mit YouTubes JavaScript API herum. Ich habe eine Testseite in meiner lokalen Umgebung eingerichtet, aber die Wiedergabefunktion funktioniert nicht. Das Video lädt, und ich kann Play auf dem Yt-Video-Bildschirm drücken, aber mein Link "Play" funktioniert nicht. Kann mir jemand sagen, was ich falsch mache?Youtube Javascript API play(); funktioniert nicht .. was mache ich falsch?

Ich habe das verfolgt: http://code.google.com/apis/youtube/js_api_reference.html

<html> 
    <head> 
    <script type="text/javascript" src="public/javascripts/swfobject.js"></script> 
    </head> 

    <body> 

    <div id="ytapiplayer"> 
     You will need Flash 8 or better to view this content. 
    </div> 

    <script type="text/javascript"> 
     var params = { allowScriptAccess: "always" }; 
     var atts = { id: "myytplayer" }; 
     swfobject.embedSWF("http://www.youtube.com/v/OQSNhk5ICTI&enablejsapi=1&playerapiid=ytplayer", "ytapiplayer", "425", "365", "8", null, null, params, atts); 

     function onYouTubePlayerReady(playerId) { 
     ytplayer = document.getElementById("myytplayer"); 
     } 

     function play() { 
     if (ytplayer) { 
      ytplayer.playVideo(); 
     } 
     } 
    </script> 

    <a href="javascript:void(0);" onclick="play();">Play</a> 

    </body> 
</html> 
+0

Ihr genauer Code funktionierte nur gut für mich auf IE, Chrome und Firefox. Wenn Sie eine solche verwenden, fügen Sie ein solches Debugging hinzu: 'function play() {alert (typeof ytplayer); if (ytplayer) {Warnung (ytplayer.playVideo); ytplayer.playVideo(); }} 'Welche Warnungen sehen Sie? –

Antwort

4

Das funktioniert nicht auf einem lokalen env. Sie können z.B. Web Developer Express, der einen winzigen Webserver enthält, und Sie können es in localhost ausführen.

+1

Getestet in localhost und Ihr Code funktioniert, aber file: // ... ohne einen Webserver nicht. –

+0

ja danke !! nur überprüft und beide funktionieren. – thedeepfield

0

Ihre div id ytapiplayer myytplayer
nicht so ist, die Funktion ändern onYouTubePlayerReady als

function onYouTubePlayerReady(playerId) { 
    //ytplayer = document.getElementById("myytplayer"); 
    ytplayer = document.getElementById("ytapiplayer"); 
    } 

View the fiddle den Code zu sehen Arbeits

+0

Ich habe meinen Code geändert, aber das hat nichts gemacht. – thedeepfield

+0

Der Code in dieser Geige funktioniert nicht für mich - die Play-Taste spielt das Video nicht ab. – nnyby

+0

@nnyby: Ich werde überprüfen und Sie wissen lassen. Es hat funktioniert. etwas Änderung in api vielleicht. – naveen