2012-04-08 2 views
1

У меня есть ASP генерировать код на моей странице следующим образом:Youtube JavaScript API (& ASP) с несколькими видео

Table1.Rows(0).Cells(0).Text = "<object style=""height: 390px; width: 640px"" id=""ytplayer_object_left"">" & _ 
     "<param name=""movie"" value=""https://www.youtube.com/v/UASyS-jUKKI?version=3&feature=player_embedded&controls=0&enablejsapi=1&showinfo=0&iv_load_policy=3&playerapiid=ytplayer_left"">" & _ 
     "<param name=""allowfullscreen"" value=""true"">" & _ 
     "<param name=""allowscriptaccess"" value=""always"">" & _ 
     "<embed src=""https://www.youtube.com/v/UASyS-jUKKI?version=3&feature=player_embedded&controls=0&enablejsapi=1&showinfo=0&iv_load_policy=3&playerapiid=ytplayer_left"" type=""application/x-shockwave-flash"" allowfullscreen=""true"" allowscriptaccess=""always"" width=""425"" height=""344"" id=""ytplayer_left""></object>" 



    Table1.Rows(0).Cells(2).Text = "<object style=""height: 390px; width: 640px"" id=""ytplayer_object_right"">" & _ 
     "<param name=""movie"" value=""https://www.youtube.com/v/uasys-jukki?version=3&feature=player_embedded&controls=0&enablejsapi=1&showinfo=0&iv_load_policy=3&playerapiid=ytplayer_right"">" & _ 
     "<param name=""allowfullscreen"" value=""true"">" & _ 
     "<param name=""allowscriptaccess"" value=""always"">" & _ 
     "<embed src=""https://www.youtube.com/v/uasys-jukki?version=3&feature=player_embedded&controls=0&enablejsapi=1&showinfo=0&iv_load_policy=3&playerapiid=ytplayer_right"" type=""application/x-shockwave-flash"" allowfullscreen=""true"" allowscriptaccess=""always"" width=""425"" height=""344"" id=""ytplayer_right""></object>" 

Я убедился, что идентификаторы отличаются от обоих, и onYouTubePlayerReady (id) корректно вызывается для обоих (возвращая 'ytplayer_left' и 'ytplayer_right'). Тем не менее, я не могу получить каждое видео как другую переменную javascript, чтобы я мог играть/приостанавливать их самостоятельно.

Это код, который я пробовал:

var vid_left; 
    var vid_right; 
    function onYouTubePlayerReady(id) { 
     alert(id); 
     if (id = 'ytplayer_right') { 
      vid_right = document.getelementbyId(id); 
      alert(vid_right); 
     } 

     if(id = 'ytplayer_left') { 
      vid_left = document.getelementbyId(id); 
      alert(vid_left); 
     } 

Любая помощь? Благодарю.

+0

'getElementById'. С надлежащими случаями. –

+0

Изменено, не имеет значения – Michael

ответ

1

Две проблемы:

  • Использование document.getElementById (с буквами).
  • Использование == для сравнить переменные, не=.

Код:

var vid_left, vid_right; 
function onYouTubePlayerReady(id) { 
    alert(id); 
    if (id == 'ytplayer_right') { 
     vid_right = document.getElementById(id); 
     alert(vid_right); 
    } else if(id == 'ytplayer_left') { 
     vid_left = document.getElementById(id); 
     alert(vid_left); 
    } 
} 
+0

Большое спасибо, отлично работает. Я только начинаю с javascript, поэтому я не удивлен, что сделал основные ошибки ... – Michael

+0

@Michael JavaScript - это язык с учетом регистра. Если вам нужен отличный справочник, см. Https://developer.mozilla.org/en/JavaScript/Guide. Этот сайт также является одной из лучших ссылок на JavaScript в Интернете. –

+0

Я посмотрю на это, большое спасибо за вашу помощь. – Michael

0

Я не уверен, что вы можете получить бирку с getElementById. Попытка:

var object = document.getElementById(objectID) 

var embed = object.getElementsByTagName('embed')[0]; 
+0

Да, он может. Атрибут HTML 'id' определен, и [' document.getElementById'] (https://developer.mozilla.org/en/DOM/document.getElementById) хорошо поддерживается. –