Остановить флэш-видео, когда скрыто
Я знаю, что этот вопрос дважды задавался в стеке... но мне все еще нужна помощь. У меня есть 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 ответа
Спасибо за вашу помощь, Бен. Прежде чем я увидел ваш последний ответ, я использовал то, что видел в ответе на аналогичный пост, но настроил его так:
// Remove and re-add video
var clone = $("#video").clone(true);
$("#video").remove();
$("#video-holder").html(clone);
Это отлично сработало для меня. Я дал своему swfobject идентификатор "video", который находился внутри div "video-holder". Надеюсь, что это помогает другим!
Исходя из моего предыдущего опыта, отсоединение элементов DOM, содержащих flash-объект, очень подвержено сбоям браузера, Firefox был особенно уязвим, если я правильно помню.
Вы можете удалить вложенные элементы, выполнив что-то вроде $("#DIV1 OBJECT"). Remove() и добавив его снова с помощью swfobject, когда они вам понадобятся снова.
Или вы могли бы использовать ExternalInterface, чтобы попытаться связаться с вашими Flash-объектами из JavaScript.
Вы не говорите, как вы проигрываете видео, но если у вас есть свой собственный проигрыватель, вам нужно добавить некоторые интерфейсы в ваш флэш-файл, чтобы сделать это, в противном случае используемый вами проигрыватель может иметь некоторые существующие внешние интерфейсы. Вы можете использовать для этого.