JQuery видео всплывающих оверлея не заканчивается видео в IE при закрытии - PullRequest
0 голосов
/ 26 июня 2011

Используя код, найденный здесь:

Как открыть окно jquery для воспроизведения видео на YouTube?

Я создал следующее:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script src="http://cdn.jquerytools.org/1.2.5/full/jquery.tools.min.js"></script>
<script src="js/swfobject.js"></script>
</head>
<body>
<script language="javascript" type="text/javascript">

    $(function () {
        var videoModal = $('#video-modal').overlay({
            expose: {
                color: 'black',
                loadSpeed: 200,
                opacity: 0.85
            },
            closeOnClick: true,
            api: true
        });

        $('.video-link').click(function () {
            videoModal.load();

            var videoUrl = $(this).attr('href');
            var flashvars = {};
            var params = {
                allowFullScreen: "true",
                allowscriptaccess: "always"
            };
            var attributes = {};

            swfobject.embedSWF(videoUrl, 'video-container', '425', '344', '9.0.0', '', flashvars, params, attributes);

            return false;
        });
    });

</script>
    <form id="form1" runat="server">
   <a href="http://www.youtube.com/v/2cxqZiWyW3g&hl=en_US&fs=1&autoplay=1"
    class="video-link">Video 1</a>
<a href="http://www.youtube.com/v/607RMNoJfl4&hl=en_US&fs=1&autoplay=1"
    class="video-link">Video 2</a>

<div class="modal" id="video-modal">
    <div id="video-container" style="width: 425px; height: 344px;"></div>
</div>



    </form>
</body>
</html>

В Firefox он работает как положено (при нажатии в любом месте за пределами контейнера видео всплывающее окно закрывается и видео перестает воспроизводиться).В IE - видео продолжает проигрываться на близком расстоянии.Любые идеи о том, как я могу остановить воспроизведение видео в IE?

Когда я использую swfobject.removeSWF, я больше не могу нажимать ни на одну из ссылок и снова открыть свой фильм.Вот где я сейчас нахожусь:

<script language="javascript" type="text/javascript">
    $(document).ready(function () {
        var videoModal = $('#video-modal').overlay({
            expose: {
                color: 'black',
                loadSpeed: 200,
                opacity: 0.85
            },
            closeOnClick: true,
            api: true,
            onClose: function () {
                swfobject.removeSWF('video-container');
            }
        });

        $('.video-link').click(function () {
            videoModal.load();

            var videoUrl = $(this).attr('href');
            var flashvars = {};
            var params = {
                allowFullScreen: "true",
                allowscriptaccess: "always"
            };
            var attributes = {};
            swfobject.createSWF({ data: this.href, width: "425", height: "344" }, params, 'video-container');


            return false;
        });


    });


</script>

1 Ответ

1 голос
/ 27 июня 2011

Чтобы остановить флэш-видео, когда вы закрываете его или скрываете, вам нужно вызвать swfobject.removeSWF('video-container')

Из документа наложения, который вы используете http://flowplayer.org/tools/overlay/index.html, мы видим, что тамэто close () и onlose, которые вы можете вызвать вышеупомянутой функцией, чтобы остановить видео при закрытии диалога.

Я должен сказать вам, что видео не останавливается ни в одном браузере, если вы невызовите removeSWF.Просто сам mozilla остановится, или спрячешь его, и ты этого не увидишь, я не знаю, но тебе нужно вызвать эту команду, чтобы остановить это.

...