Как использовать JavaScript для обмена SWF в HTML? - PullRequest
3 голосов
/ 15 ноября 2008

Я вставил SWF в свою HTML-страницу, но я бы хотел, чтобы он переключился на другой SWF, когда я нажал на кнопку в HTML. Я использовал swfobject.js для встраивания swf и использую прототип для написания javascript. Я думал, что я могу просто сделать это

$('movie').value = 'swf/bhts.swf';
alert($('movie').value);

значение изменилось на swf / bhts.swf, но оно все еще воспроизводит оригинальный файл swf ... это код, который я использую для встраивания SWF

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="530" height="298" id="flashcontent">
<param id="movie" name="movie" value="swf/trailer.swf" />
</object>

спасибо.

Ответы [ 2 ]

2 голосов
/ 15 ноября 2008

Использование swfObject:

<div id='flashContent'>
</div>

<script type='text/javascript'>    
    // Setup your initial flash 
    var so = new SwfObject(.....);
    so.write ('flashContent');

    // Some event handler
    someElement.onclick = function ()
    {
         // Load up the new SWF
         so = new swfObject(....);
         so.write('flashContent');
    }
</script>
0 голосов
/ 15 ноября 2008

Как вы используете SWFObject? Если вы используете метод swfobject.embedSWF для добавления SWF-файла в HTML-файл, вы можете вызвать его снова с тем же идентификатором, и он должен удалить старый объект Flash Player и добавить новый с новым URL-адресом.

Вы также можете использовать собственные методы SWF для замены используемого им URL. Если у вас есть идентификатор объекта Flash, используйте что-то вроде

var swf = getElementById("flash_id");
swf.LoadMovie(0, "http://example.com/newSwfUrl.swf");

и это должно заставить Flash player перезагрузиться из другого места, заменив слой 0 (по умолчанию). Это может не работать с действительно старыми Flash-плеерами, но должно быть хорошо во Flash 8 и более поздних версиях.

...