8
votes

YouTube Iframe API .SeekTo () Pas une méthode?

Je sais que .SeekTo () travaille dans l'API JavaScript, mais je ne suis pas capable de le faire travailler avec l'API forte> iframe forte>. Cette méthode est-elle prise en charge? Le code ci-dessous intègre avec succès la vidéo et la console avec succès.Log-s l'objet Player. Je reçois l'erreur "Player.SeekTo n'est pas une fonction" dans la console.

    <script>
        var tag = document.createElement('script');
        tag.src = "http://www.youtube.com/player_api";
        var firstScriptTag = document.getElementsByTagName('script')[0];
        firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
        var player;
        function onYouTubePlayerAPIReady() {
            player = new YT.Player('player', {
                height: '390',
                width: '640',
                videoId: 'u1zgFlCw8Aw'
            });
        }
        $(window).load(function(){
            jQuery('#test').click(function(){
                //console.log('test');
                console.log(player);
                player.seekTo(25);
                return false;
            });
        });
    </script>
    <a href="#" id="test">Test</a>


0 commentaires

4 Réponses :


0
votes

Je crois que toutes les méthodes JavaScript n'ont pas encore été implémentées sur l'API iFrame comme son expérimental, alors je suppose que non si vous l'avez essayé et que cela a échoué. Cependant, je n'ai pas utilisé l'API Iframe en détail.


0 commentaires

3
votes

Ceci fonctionne comme prévu: http://jsfiddle.net/jbwy4/ (FF 11, chrome 17 ).

Assurez-vous que les conditions suivantes sont satisfaites:

  1. Un conteneur avec ID lecteur est défini:
    . .
  2. Le code est non différé . C.-à-d., Pas dans un Overload événement, $ (document) .Ready , Settimeout , etc. Sinon, l'API iFrame omet de charger et Le code ne fonctionnera pas.
  3. jQuery est chargé.

3 commentaires

Dites-vous que lorsque vous cliquez sur le lien #Test, la vidéo cherche comme prévu (parce que votre extrait n'est-ce pas pour moi)? Je n'ai aucun problème à intégrer la vidéo, j'ai du mal à faire le travail de la fonction de recherche ().


Je l'ai essayé à FF et Safari, et cela a fonctionné. Pour une raison quelconque, chrome sur OSX ne fait rien quand je clique sur le lien #Test. La console me donne le même "joueur.seekto n'est pas une fonction" erreur ".


@thechrisvoth J'ai traversé le tracas de la création d'un OSX VM (OS X Lion), installé Chrome 18.0.1025.142. Bien que la vidéo ne joue pas bien (Bug Mac / Flash / Chrome?), Le Player.SeekTo Method fait fonctionne.



1
votes

La méthode CECKTO () est uniquement disponible après l'événement OnReady .

Voici un exemple qui commence à jouer à 100 ans:

http://jsfiddle.net/9rqk3/


3 commentaires

Quel navigateur utilisez-vous? Je l'ai testé en FF et Chrome et cela a fonctionné.


Je l'ai essayé à FF et Safari, et cela a fonctionné. Pour une raison quelconque Chrome sur OSX ne cherche pas.


chrome sur os x cherche pour moi



6
votes

voici Un jsfiddle mis à jour à l'aide de la nouvelle API IFrame qui fonctionne

FYI: Si vous utilisez simplement un iframe HTML pur intégré Vous pouvez mettre ? Démarrer = 30 code> pour l'heure de début p> xxx pré>

pour l'API, vous pouvez démarrer une vidéo à une certaine heure . Utilisez le paramètre Démarrer CODE> P>

function onPlayerStateChange(evt) 
{       
    if (evt.data==1) 
    {
        // this will seek to a certain point when video starts
        // but you're better off using 'start' parameter
        // player.seekTo(22);   
    }
}


2 commentaires

@ROGERDPACK fait que YouTube fonctionne normalement? Avez-vous un autre code YouTube sur votre page? Je ne sais pas comment vous obtiendriez cette erreur en utilisant ceci.


Oui, les œuvres de YouTube normales. Peut-être que c'est une vidéo que vous pouvez voir?