Если loggedin()
- это проверка времени загрузки на стороне сервера, почему бы просто не изменить вывод из PHP?
<div id="menu">
<?php if (loggedin()) { ?>
<object ...> ...
<param name="movie" value="menu2.swf" /> ...
</object>
<?php } else { ?>
<object ...> ...
<param name="movie" value="menu1.swf" /> ...
</object>
<?php } ?>
</div>
Если вы действительно должны сделать это из скрипта, тогда да, вы должны создать новый объект Flash (с помощью innerHTML
или методов DOM, или получить скрипт наподобие SWFObject, который сделает это за вас). Изменение источника объекта плагина - это не то, что вы можете надежно сделать кросс-браузерным (особенно IE).
Возможно, было бы лучше включить оба меню на странице и просто использовать display
, чтобы скрыть одно из них.
Почти наверняка было бы лучше не использовать Flash-меню, которые, как правило, приводят к юзабилити, доступности и SEO-катастрофе. У вас есть много возможностей анимации, встроенных в jQuery, а HTML5 / CSS3 / и т. Д. Становятся все более и более привлекательными. Флэш-меню , поэтому 2003.