2011-12-16 4 views
1

Попытка изменить/изменить источник любого/всех iframe на странице, где src включает youtube.com, и получить идентификатор видео с URL-адреса src.Изменение src iframe

Вот что у меня до сих пор, что не работает.

$(document).ready(function(){ 
changeYoutube(); 
function changeYoutube() 
{ 
    $('iframe').each(function() { 

    var that = $(this); 
    var href = that.attr('src'); 

    if(href.search('youtube.com') != -1) {  
     that.attr('href', href+'&autoplay=1'); 
    } 

}); 
}); 

Мне также нужно поместить идентификатор видео из URL в var. Пример URL: http://www.youtube.com/embed/hP9rBDYYFvw?fs=1&feature=oembed Где «hP9rBDYYFvw» - это идентификатор видео в этом URL-адресе.

Благодаря

+0

Предположим, что на странице iframe нет идентификаторов. – TDave00

+0

Что именно «не работает»? Вы получаете ошибки JS? Вы пробовали отлаживать его? –

ответ

1

Это решение:

<script type="text/javascript"> 
    function changeYoutube() { 
     $('iframe').each(function() { 

      var that = $(this); 
      var href = that.attr('src'); 

      if (href.search('youtube.com') != -1) { 
       that.attr('src', href + '&autoplay=1'); 

       // code to get id 

        var tmp = href.split("?"); 
       var tmp2 = tmp[0].split("/"); 
       var ID = tmp2[tmp2.length - 1]; 
      } 

     }); 
    } 

    $(document).ready(function() { 
     changeYoutube(); 
    }); 
    </script> 

Сначала Вы установили HREF атрибут, но вы должны установить атрибут ГКЗ фрейма. Второй Вы должны сначала определить функцию, которую вы вызываете после готовности документа, а в вашем коде вы не закрываете функцию. С наилучшими пожеланиями.

+0

Это сделало трюк. Любые идеи по второй части вопроса об идентификаторе видео? – TDave00

+0

Я обновил свой код. Надеюсь, это поможет. – ranko85gmx

+0

Спасибо за продолжение. Я также нашел это в то же время «var videoId = href.split ('/') [1] .split ('?') [0];' который работает и для меня. – TDave00

0

Вы пропускаете один закрывающую скобку }.

Заменить последнюю строку }); с }});

0
$(document).ready(function(){ 
    changeYoutube(); 
}); 

function changeYoutube() { 
    $('iframe').each(function() { 
     if($(this).attr('src').search('youtube.com') != -1) { 
      var href = $(this).attr('src');  
      $(this).attr('src', href+'&autoplay=1'); 
     } 
    }); 
} 

это просто другой стиль от вашего. возможно, это работает. Попробуйте

+0

Я проверю его и отчитаю. – TDave00

+0

Это сделало трюк. Любые идеи по второй части вопроса об идентификаторе видео? – TDave00

Смежные вопросы