Путешествие не перестанет играть!(Изменение значений встраиваемого объекта с помощью JQuery не меняет воспроизводимого видео) - PullRequest
4 голосов
/ 18 апреля 2011

У меня есть страница со следующим видеоплеером:

<div id="flashContent"> 
            <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="589" height="470" id="Take5" align="middle"> 
                <param name="movie" value="DontStopBelievin.swf" id="ee1" /> 
                <param name="quality" value="high" /> 
                <param name="bgcolor" value="#f7f7f7" /> 
                <param name="play" value="true" /> 
                <param name="loop" value="true" /> 
                <param name="wmode" value="window" /> 
                <param name="scale" value="showall" /> 
                <param name="menu" value="true" /> 
                <param name="devicefont" value="false" /> 
                <param name="salign" value="" /> 
                <param name="allowScriptAccess" value="sameDomain" /> 
                <!--[if !IE]>--> 
                <object type="application/x-shockwave-flash" data="DontStopBelievin.swf" width="589" height="470" id="ininplay"> 
                    <param name="movie" value="DontStopBelievin.swf" id="ee2" /> 
                    <param name="quality" value="high" /> 
                    <param name="bgcolor" value="#f7f7f7" /> 
                    <param name="play" value="true" /> 
                    <param name="loop" value="true" /> 
                    <param name="allowFullScreen" value="true" /> 
                    <param name="wmode" value="window" /> 
                    <param name="scale" value="showall" /> 
                    <param name="menu" value="true" /> 
                    <param name="devicefont" value="false" /> 
                    <param name="salign" value="" /> 
                    <param name="allowScriptAccess" value="sameDomain" /> 
                <!--<![endif]--> 
                    <a href="http://www.adobe.com/go/getflash"> 
                        <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /> 
                    </a> 
                <!--[if !IE]>--> 
                </object> 
                <!--<![endif]--> 
            </object> 
        </div> 

И ссылки с функциями onclick, которые вызывают:

function changeMedia(id) {
    $('object#ininplay').attr('data', id + ".swf");     
    $('param#ee1').attr('value', id + ".swf");      
    $('param#ee2').attr('value', id + ".swf");      
}

Это прекрасно работает, когда я использую инструмент Chrome Inspect Element , и я вижу, что вышеупомянутые значения были изменены на допустимый и другой файл, и все же оригинальный фильм просто продолжает воспроизводиться ...

Я слушал «Не переставайте верить» тринадцать раз сейчас на петле.

1 Ответ

1 голос
/ 18 апреля 2011

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

Вы можете попробовать удалить весь div 'flashcontent' и заменить его новым.

Вы можете легко сделать это с swfObject

, который вы можете получить и прочитать здесь

... или вы можете использовать шаблонный плагин jQuery

...