простой JavaScript для замены одного фильма другим - PullRequest
0 голосов
/ 09 ноября 2010

Я знаю, что это, вероятно, очень простая проблема с ответом из одной строки кода, но я уже давно об этом и он все еще ускользает от меня. У нас есть сайт, который состоит в основном из встроенного flash-объекта, содержащего элементы управления навигацией. Все, что я хочу, это вставить небольшой фильм .swf, который будет воспроизводиться на веб-сайте, как вступительная сцена, до того, как основной .swf загрузится для самого сайта. Все это означает, что я хочу вызвать 1 флеш-объект, воспроизвести его, а затем заменить его другим, когда закончим. Это, кажется, довольно простое желание, но после нескольких часов траления на форуме мне все еще отказывают в простом решении. Кто-нибудь знает лучше?

Ответы [ 3 ]

0 голосов
/ 09 ноября 2010

Насколько я знаю (буду рад, если кто-то исправит меня), вы не можете точно знать, когда Flash-объект завершил загрузку - для кода JavaScript это почти "черный ящик".

Итак, ваша лучшая альтернатива - скрыть «вступление» через определенное время, например пять секунд:

window.setTimeout("document.getElementById('intro').style.display = 'none';", 5000);

Это будет скрывать элемент с идентификатором "intro" через пять секунд.

0 голосов
/ 09 ноября 2010

Есть несколько решений.

  • Вы можете встроить вступление и навигацию в один фрагмент ролика и просто показать навигацию после воспроизведения вступительного фильма.
  • Вы также можете использовать ExternalInterface во флэш-памяти во вступительном фильме. ExternalInterface позволяет Flash вызывать функции JavaScript и наоборот. Таким образом, вы в основном пишете небольшую функцию в JS, которая меняет клипы и вызывает ее через ExternalInterface в конце вступления.
0 голосов
/ 09 ноября 2010

Более простое решение - все это обрабатывать во Flash.Это дало бы вам более полный общий контроль.

Если вы обрабатываете это как с Javascript, так и с Flash, вероятной проблемой будет необходимость ждать загрузки фильма до его начала.

Вы можете, например, вызвать функцию Javascript из первого фильма, когда он завершит воспроизведение, но вы не сможете избежать задержки между двумя фильмами, пока загружается второй фильм.

Если по некоторым причинам,у вас нет доступа к коду ни в одном из этих фильмов, создайте третий фильм, который будет действовать как контейнер для обоих SWF-файлов, где вы сможете отслеживать ход загрузки и реагировать соответствующим образом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...