Это подтвержденная проблема в IE (Google, и вы увидите много жалоб). В этом сообщении на SO рекомендуется несколько способов удаления и повторного добавления или клонирования и повторного добавления объектов при каждом показе / скрытии вкладок.
Альтернативный подход, поскольку кажется, что вы используете исключительно встроенные видео YouTube, - это использовать API JavaScript JavaScript YouTube и останавливать видео каждый раз, когда вкладка отображается и / или скрывается.
Обновлено, чтобы включить пример:
После поиска в YouTube JS API я бы порекомендовал перейти к предыдущему решению. Если вы не загружаете каждое видео с помощью SWFObject, возникает множество кросс-браузерных ошибок, которые в конечном итоге станут большей работой, чем вы, вероятно, готовы потратить. Мне удалось получить кросс-браузерное решение, работающее без SWFObject для одного видео, но оно не будет легко преобразовано в ваши текущие настройки:
<p><a id="showhide" href="#show">show/hide with YT API pause</a></p>
<div id="tab">
<object id="video1" width="640" height="385" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000">
<param name="movie" value="http://www.youtube.com/v/sUO4bnWtlnE&hl=en_US&fs=1&enablejsapi=1"></param>
<param name="allowscriptaccess" value="always"></param>
<embed src="http://www.youtube.com/v/sUO4bnWtlnE&hl=en_US&fs=1&enablejsapi=1" type="application/x-shockwave-flash" allowscriptaccess="always" width="640" height="385"></embed>
</object>
</div>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script>
(function () {
var tab = $('#tab'),
video1 = $('#video1')[0];
$('#showhide').click(function (evt) {
if (video1.pauseVideo) video1.pauseVideo();
tab.toggle();
return false;
});
})();
</script>
На jsFiddle здесь .