2010-04-18 7 views
2

J'utilise l'API du lecteur YouTube. Je suis la doc ici:Le lecteur YouTube api-addEventListener() ne fonctionne pas pour moi?

http://code.google.com/apis/youtube/js_api_reference.html

ayant un problème en ajoutant un écouteur d'événement sur le joueur, il semble juste obtenir coincé là-bas. Je mets une déclaration d'alerte directement après, qui ne se fait jamais appeler:

ytplayer.addEventListener("onStateChange", "onytplayerStateChange"); 
alert("I never get called..."); 

aucune idée pourquoi cela se produirait? En cours d'exécution à travers FF chrome safari, la même chose arrive à tous. Les autres caractéristiques du joueur fonctionnent bien. J'utilise la version swfobject. Je cours ce live à partir d'un serveur aussi. Je ne comprends pas.

Merci

+0

J'étais aussi confronté au même problème depuis plusieurs jours, j'essayais de le comprendre. Eh bien, je me suis rendu compte que l'ID passé dans document.getElement .... devrait être soigneusement vérifié, il devrait être votre id d'attribut swfobjects. var lecteur = document.getElementById (atts.id); – Sumas

Répondre

0

Essayez d'utiliser Firebug http://getfirebug.com/ pour FireFox, il devrait vous aider à trouver des erreurs javascript. J'ai des problèmes avec les écouteurs de l'événement youtube mais aussi le mien dans Firefox.

1

jetez un oeil sur le code source de cette page, peut-être que cela vous permettra d'aller dans la bonne direction. Le nombre sous la vidéo est l'état de la vidéo capturé et mis à jour la façon dont vous essayez de mettre en œuvre

http://goo.gl/b93ns

+0

Votre lien ne fonctionne pas actuellement, veuillez le mettre à jour s'il vous plaît ' – Sumas

+0

Lien mis à jour. pointe vers jsfiddle. URL raccourcie utilisée pour SO ne pas aimer les liens directs vers jsfiddle.net (vraiment? Depuis quand?) Notez l'inclusion de jquery 1.7.2 ET SWFObject 2.2 dans les ressources supplémentaires jsfiddle – Raine

0

Je pense qu'il est un bug. Voici la solution qui a fonctionné pour moi:

Dans l'URL du lecteur, vous devez inclure un « & » après?. Ainsi, l'exemple est la suivante:?

VIDEO_ID enablejsapi = 1 & playerapiid = YTPlayer

Mais utilisez ceci:

VIDEO_ID? & enablejsapi = 1 & playerapiid = YTPlayer

(notez le & avant 'enable')

ne fait pas beaucoup de sens, mais il travaille maintenant :)

+0

Désolé, ça ne fonctionne pas moi :(une autre solution? – Sumas

1

Placez votre rappel dans l'espace de noms global, par exemple window.onytplayerStateChange = fonction.

Alors que sa jolie merde est l'une des rares façons dont j'ai réussi à faire fonctionner le rappel. On m'a dit que c'est parce que addEventListener est une fonction personnalisée remplaçant le code natif qui effectue une recherche via une chaîne dans l'espace de noms global.

+0

très utile, merci ironiquement, mon écouteur d'événements a travaillé dans FF avant, mais pas Chrome, mais en mettant le callback dans l'espace de noms global cela fonctionne dans les deux. – richsilv

Questions connexes