Вопрос Jquery API данных / проигрывателя YouTube - PullRequest
0 голосов
/ 18 мая 2011

У меня проблемы с получением видео идентификаторов YouTube для анализа их функции во встроенном проигрывателе.Я использую комбинацию Javascript / JQuery с API данных и проигрывателя YouTube.Вот мой код ниже:

<html>

<head>

    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js" type="text/javascript"></script>
    <script type="text/javascript" src="swfobject.js"></script> 



    <script type="text/javascript">

    //LOAD YOUTUBE PLAYER       
    var params = { allowScriptAccess: "always" };
    var atts = { id: "myytplayer" };
    swfobject.embedSWF("http://www.youtube.com/e/nDq9o9j3-CU?enablejsapi=1&playerapiid=ytplayer",
                   "ytapiplayer", "425", "356", "8", null, null, params, atts);


    //ALLOW CALLS TO BE MADE TO YOUTUBE PLAYER
    function onYouTubePlayerReady(playerId) {
    ytplayer = document.getElementById("myytplayer");
    };                     


    //PLAY A VIDEO BY THE GIVEN VIDEO ID (PARSED FROM THE JSON OUTPUT)
    function play(vid) {
        if (ytplayer) {
            ytplayer.loadVideoById(vid);
        }
    }




    //GETTING THE JQUERY GOING
    $(document).ready(function(){



        //JSON URL FOR THE VIDEOS I AM TARGETTING
        var url = "http://gdata.youtube.com/feeds/api/videos?q=TedxConejo&orderby=published&max-results=50&v=2&alt=jsonc";

        //PULL THE JSON OUTPUT FROM THAT URL AND PUT IT INTO A FUNCTION
        $.getJSON(url,
            function(response){

                //LOOP THROUGH EACH ITEM IN THE OUTPUT
                $.each(response.data.items, function(i,video){
                    //CREATE A THUMBNAIL WITH A LINK FOR EACH ITEM
                    $("#jsonOutput").append("<a href='#' name="+video.id+"><img style='width:100px' src='" + video.thumbnail.hqDefault + "'/></a>")
                });

        });


    //FUNCTION TO FIRE WHEN THUMBNAILS ARE CLICKED
    $("a").click(function(){
        //GRAB VIDEO ID FROM NAME ATTRIBUTE OF LINK
        $(this).attr("name") = video_id;    



        //PARSE VIDEO ID TO PLAY FUNCTION
            play(video_id);

        });


        });

        </script>





    </head>


    <body>

    <h1>Hello, World</h1>

  <div id="jsonOutput" style="width:800px; float:left; margin-right:20px"></div>
  <div id="ytapiplayer">
  </div>



    </body>
</html>

Никаких ошибок или ошибок не происходит, и, похоже, ничего не происходит.Любая помощь с благодарностью!

Спасибо,

Эллиот

1 Ответ

0 голосов
/ 10 августа 2011

Из Google Chromeless API:

Примечание. Чтобы проверить любой из этих вызовов, ваш файл должен работать на веб-сервере, поскольку проигрыватель Flash Player ограничивает вызовы между локальными файлами и Интернетом.[1]

Почему бы вам не попробовать онлайн демо?[2]

[1] http://code.google.com/apis/youtube/js_api_reference.html#GettingStarted

[2] http://code.google.com/apis/youtube/youtube_player_demo.html?playerType=chromeless&playerVersion=as3

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...