Остановить флэш-видео, когда скрыто - PullRequest
2 голосов
/ 15 января 2011

Я знаю, что этот вопрос дважды задавался в стеке ... но мне все еще нужна помощь. У меня есть 2 div, каждый из которых содержит объекты SWFObject. Вот jquery, который показывает / скрывает мои Div:

$(document).ready(function(){ 
 $("#DIV2").hide();

  $('#button1').bind('click', function() {
    $("#DIV1").hide();
    $("#DIV2").show();
  });

  $('#button2').bind('click', function() {
    $("#DIV1").show();
    $("#DIV2").hide();
});
});

Но мне нужно, чтобы мое видео в DIV2 перестало играть, когда оно скрыто, и начиналось с самого начала, когда вы снова его показываете. Из того, что я прочитал, мне нужно удалить его из DOM ... но я не понимаю, как его добавить. Я видел предложения для detach (); но не могу понять, куда пойдет мой AppendTo ().

Может кто-нибудь помочь ?? Я действительно ценю это. Кстати, вот связанный пост (который содержит ссылку на ДРУГОЙ связанный пост).

Заранее спасибо!

Ответы [ 2 ]

5 голосов
/ 20 января 2011

Спасибо за вашу помощь, Бен.Прежде чем я увидел ваш самый последний ответ, я использовал то, что видел в ответе на аналогичный пост , но настроил его так:

 // Remove and re-add video
 var clone = $("#video").clone(true);
 $("#video").remove();
 $("#video-holder").html(clone);

Это отлично сработало для меня.Я дал своему swfobject идентификатор "video", который находился внутри div "video-holder".Надеюсь, что это помогает другим!

0 голосов
/ 15 января 2011

Из моего предыдущего опыта, отсоединение элементов DOM, содержащих flash-объект, очень подвержено сбоям браузера, Firefox был особенно уязвим, если я правильно помню.

Вы можете удалить вложенные элементы, выполнив что-то вроде $ ("# DIV1 OBJECT"). Remove () и добавив его снова с помощью swfobject, когда они вам понадобятся снова.

Или вы можете использовать ExternalInterface , чтобы попытаться связаться с вашими флеш-объектами из JavaScript.

Вы не говорите, как воспроизводите видео, но если у вас есть свой собственный проигрыватель, вам нужно добавить некоторые интерфейсы в ваш флэш-файл, чтобы сделать это, в противном случае используемый вами проигрыватель может иметь некоторые существующие внешние интерфейсы, которые вы можете использовать для этого.

...