0

Я использую следующий код для загрузки различных видеороликов youtube в модный твиттер Bootstrap. Почему IE8 является единственным браузером, который не загружает видео youtube? Он просто отображает черный div, где обычно отображается видео. На странице, на которой я работаю, есть больше загружаемых видеороликов и множество дополнительных скриптов, поэтому я стараюсь, чтобы это было максимально гибким и легким. Мы ценим любые предложения. Благодаря! jsfiddle внизу.Изменение iframe youtube src с jquery - Ошибка IE8

<div id="Videos"> 
    <a data-source="http://www.youtube.com/embed/z4Ezruu1oeQ" href="#" class="videoThumbnail"> 
     <img src="http://placehold.it/200x100&text=Video%20Thumbnail%20One"></a> 

    <a data-source="http://www.youtube.com/embed/3tYrd4tPVXs" href="#" class="videoThumbnail"> 
     <img src="http://placehold.it/200x100&text=Video%20Thumbnail%20Two"></a> 

</div> 


<div id="videoModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="videoModalLabel" aria-hidden="true"> 
    <div class="modal-body"> 
     <div class="video-container"> 
      <iframe width="520" height="390" frameborder="0" allowfullscreen=""></iframe> 
     </div> 
    </div> 
    <div class="modal-footer"> 
     <button class="btn" data-dismiss="modal" aria-hidden="true">Close</button> 
    </div> 
</div> 

The Javascript:

$('.videoThumbnail').click(function(e) { 
    e.preventDefault(); 
    var src = $(this).data('source'); 
    $('#videoModal').modal('show'); 
    $('#videoModal iframe').attr('src', src); 
}); 

$('#videoModal button').click(function() { 
    $('#videoModal iframe').removeAttr('src'); 
}); 

http://jsfiddle.net/curly33/LTxm7/

ответ

1

Я хотел бы предложить, позволяя HTML сделать работу.

<a href="http://www.youtube.com/embed/z4Ezruu1oeQ" target="videoIframe" class="videoThumbnail"> 

и

<iframe name="videoIframe" width="520" height="390" frameborder="0" allowfullscreen=""></iframe> 

небольшие изменения в ЯШ:

$('.videoThumbnail').click(function(e) { 
    $('#videoModal').modal('show'); 
}); 
$('#videoModal button').click(function() { 
    $('#videoModal iframe').removeAttr('src'); 
    // ^^ is this really needed? ^^ 
}); 

http://jsfiddle.net/LTxm7/3/

+0

Это woud сделать это! Благодарю. Я использовал нижнюю часть скрипта, чтобы остановить воспроизведение видео, когда была нажата кнопка закрытия. Мне нужно выяснить другой способ остановить игру. – user2062244

+0

Вот почему я его оставил, я не был уверен. Оставляя его, он должен продолжать делать то, что он делал раньше. –

+1

Для тех, у кого есть эта проблема, я изменил нижний код на это '$ ('# videoModal'). On ('hide', function() { $ ('# videoModal iframe'). RemoveAttr ('src '); }); ' , чтобы видео перестало воспроизводиться, однако модальная функция закрыта – user2062244

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