Вот часть моего кода HTML (URL видео отмечен с языка Джанго-шаблон переменных):YouTube Embeded плеер: изменение видеосвязь с JavaScript, динамически
<div class="mainPlayer">
<object width="580" height="326">
<param name="movie" value="{{main_video.video_url}}"></param>
<param name="allowFullScreen" value="true"></param>
<param name="allowscriptaccess" value="always"></param>
<embed src="{{main_video.video_url}}" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="580" height="326"></embed>
</object>
</div>
и JS-кода (с помощью JQuery 1,4 .x)
$(document).ready(function(){ .....
$(".activeMovie img").live("click", function(){
video_url = ($(this).parent().find('input').val());
$('.mainPlayer').find('param:eq(0)').val(video_url);
$('.mainPlayer').find('embed').attr('src', video_url);
})
...
})
Такой алгоритм хорошо работает в ФФ 3.6.3, но не повезло в chrome4 или оперы 10.x., src
и value
не изменились, но YouTube игрок все еще показывает старое видео.
спасибо, правильное решение! но я его модифицировал, немного: $ ('. mainPlayer object'). hide(); setTimeout (function() {$ ('. MainPlayer object'). Show();}, 100); необходима некоторая задержка. –