Nicht kontrollieren können, die Youtube-embed-sogar mit Urkunde.getElementById('xyz').playVideo() - nicht eine Funktion?
OK, ich bin stecken und ich weiß nicht, was falsch ist, selbst nach folgenden Google docs und Lesen von Kommentaren hier auf Stackoverflow. Warum kann ich nicht Steuern Youtube bettet in meine web-Seite?
Wenn ich eine HTML-Datei erstellen mit dem <body>:
<object id="o1" width="480" height="295">
<param name="movie"
value="http://www.youtube.com/v/qCTLCNmnlKU&hl=en_US&fs=1&enablejsapi=1&">
</param>
<param name="allowFullScreen" value="true"></param>
<param name="allowscriptaccess" value="always"></param>
<embed id="e1"
src="http://www.youtube.com/v/qCTLCNmnlKU&hl=en_US&fs=1&enablejsapi=1&"
type="application/x-shockwave-flash"
allowscriptaccess="always" allowfullscreen="true" width="480" height="295">
</embed>
</object>
Selbst wenn ich Versuch das zu tun:
//I get an object. Yay.
document.getElementById('e1');
//This generates "...playVideo is not a function"
document.getElementById('e1').playVideo();
Hilfe! Was mache ich falsch? Danke.
InformationsquelleAutor Amy | 2010-02-07
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
OK, also hier die Antwort gefunden, in eine winzige Zeile text auf der API-Seite: http://code.google.com/apis/youtube/js_api_reference.html
So zu erlauben, mich weiter zu entwickeln auf meinem Mac-laptop habe ich Folgendes:
Bearbeitet meine /etc/hosts Datei um einen Eintrag wieder zu meiner localhost:
Bearbeitet meine /etc/apache2/httpd.conf - Datei fügen Sie einen virtuellen host-Eintrag verweist zurück auf meine Entwicklung-Verzeichnis:
Apache Neu Gestartet:
Gestöbert zurück zu meinem eigenen localhost über meine neue virtuelle server:
Voila. Das ganz funktioniert nun. Ich kann die Abfrage der Seite für die Spieler:
Uff! Keine onYouTubePlayerReady() erforderlich!
onYouTubePlayerReady
es scheint, dass es die einzige Weise, die Sie erwarten, dass Ihre API verwendet werden. Keine Nebenwirkung gesehen werden kann auf dem localhost, aber Sie können erscheinen auf dem internet wegen langsamer Internetverbindung oder ähnliche Probleme. E. g. Ich habe deinen anfänglichen code-arbeiten durch einfügenalert('debug')
bevor das erste element mit id 🙂Guter Punkt. Ich habe noch einiges an Tests zu tun, so dass ich ' ll post ein update, wenn etwas neues kommt.
InformationsquelleAutor Amy
Youtube-player, der noch nicht geladen ist die Zeit, die Sie versuchen, es zu benutzen. Es gibt eine spezielle callback-Funktion, gefeuert wird automatisch, sobald es geladen wird.
durch YouTube JavaScript Player API Reference.
Deshalb schreiben Sie Ihren code in der folgenden Weise:
Können Sie auch Geist vorbei
playerapiid
beim einbetten der Spieler, wenn es gibt viele von Ihnen zu unterscheiden, inonYouTubePlayerReady
hf.Ah - die Dinge funktionieren nicht, wenn Sie laden die Datei aus dem lokalen Speicher, anstatt von einem echten HTTP-server. Ich weiß nicht, warum.
OK, habe es herausgefunden. Das problem ist das eine Anweisung auf: code.google.com/apis/youtube/js_api_reference.html "Hinweis: Um zu testen, die dieser fordert, müssen Sie Ihre Datei auf einem webserver, wie dem Flash-player schränkt Anrufe zwischen lokalen Dateien und im internet."
Danke für den Tipp, aber das funktioniert nicht auf localhost...
InformationsquelleAutor Li0liQ
Was passiert, wenn Sie mit der id "A1" statt "e1"?
OK gut auf dieser Seite: http://code.google.com/apis/youtube/js_api_reference.html es scheint mir, dass das "swfobject" Bibliothek muss eingebunden werden, um für die API verfügbar sein. Ich werde es versuchen.
[edit] OK, hier ist was ich habe:
Dies funktioniert, aber seltsamerweise funktioniert es nur, wenn ich dienen, es von einem echten web-server. Wenn ich in eine lokale Datei und laden Sie es im browser funktioniert es nicht. Ich weiß nicht warum, aber dann bin ich absolut kein Flash-Experte, oder ein YouTube-Experte.
Sehen http://gutfullofbeer.net/youtube.html (das gleiche wie das, was eingegeben oben)
OK gut ich habe aktualisiert die Antwort
Nach: code.google.com/apis/youtube/js_api_reference.html "Hinweis: Um zu testen, die dieser fordert, müssen Sie Ihre Datei auf einem webserver, wie dem Flash-player schränkt Anrufe zwischen lokalen Dateien und im internet."
(Btw vielen Dank für Ihre Antwort. Ich wollte nicht zu klingen lapidar, ich war wirklich frustriert.)
Hey kein problem, kann ich verstehen. (Auch war es scheinbar nicht, lapidar zu mir.)
InformationsquelleAutor Pointy
Ich steckte mit diesem problem seit zwei Tagen.. jedes problem im Zusammenhang mit den youtube-player variable wurde verwandt, um Sie lokal auszuführen. Nach faking a Adresse via windows/hosts klappt es perfekt.
InformationsquelleAutor Conan.Net