Я построил форму, и рядом с моим элементом формы я поместил флеш-объект.Когда страница загружена, форма display: block, а flash-объект display: none.
Макет выглядит примерно так (img есть, поэтому, если у пользователя нет вспышки,вместо этого будет воспроизводиться gif-анимация):
<form id="form"></form>
<div id="upload-anim-div">
<object type="application/x-shockwave-flash"
data="<?= PAL_STATIC_HOST ?>/music/introducing/flash/upload_animation.swf"
width="626"
height="600">
<param name="movie" value="<?= PAL_STATIC_HOST ?>/music/introducing/flash/upload_animation.swf"/>
<img src="<?= PAL_STATIC_HOST ?>/music/introducing/img/Anim-placeholder.gif" alt="upload animation (gif)"/>
</object>
</div>
Когда я отправляю свою форму, предназначенную просто для загрузки файла, я скрываю форму и отображаю свой div анимации следующим образом в javascript:
$('#form').hide();
$('#upload-anim-div').show();
Это прекрасно работает во всех браузерах, кроме Safari, где появляется большое пустое пространство.Щелчок правой кнопкой мыши по этому пробелу просто дает мне следующее меню:
Flash movie not loaded... _not clickable_
About Adobe Flash Player 10.5.blah...
Почему фильм не загружается / загружается ?!Если я просто отображаю фильм при первой загрузке документа (удаляя строку javascript, которая изначально скрывает его), он загружается и отображается нормально!Любые идеи будут с благодарностью!
--- EDIT ---
Я уже пытался использовать swfobject, но получаю точно такую же проблему.Я использовал этот вид кода в своем javascript для встраивания своего swf в javascript после отображения upload-anim-div:
swfobject.embedSWF("myContent.swf", "upload-anim-div", "626", "600", "10");
У кого-нибудь есть еще идеи?