Ротатор флеш (flash rotator)

Создал | Раздел , | Когда: 9:55

Ротатор флэш объекта на javascript’e

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

Тогда я нашёл только вариант с флеш-плеером от Mixpod.com, путём создания плей-листа с произвольным выбором песни (shuffle режим), результат получился не очень.

Короче говоря, такой вариант очень сложен и неудобен, так как нужно разбираться с настройками плеера, а также плеер бывает не срабатывает, вероятно, из-за перегрузки внешнего сервера.

Поэтому я решил использовать ротатор (произвольно-меняющийся объект) для обычного флеш плеера. Для примера я использую музыкальный флеш плеер с сайта http://www.strangecube.com/audioplay/, потому что он прост и удобен.

Замечу, что я рассказываю на примере флеш-плеера, но вместо плеера возможно использовать совершенно любой флеш-объект, картинки, html-код…
В Интернете про ротаторы флеш-объектов ни слова нет, но существует огромное количество ротаторов баннеров(картинка с ссылкой), ротаторов картинок и текстов, созданных на JavaScript’e.

Вот код одного из таких ротаторов баннера на JavaScript’e:
<script>
var banner = new Array()

<!-- Первый баннер -->
banner[0] = new Array()
banner[0][0] = "/1.gif"
banner[0][1] = "http://bloxpot.net/"
banner[0][2] = " Текст_вместо_картинки "
banner[0][3] = " Всплывающая_подсказка_при_наведении"
<!-- Конец первого баннера -->

<!-- Второй баннер -->
banner[1] = new Array()
banner[1][0] = "/2.gif"
banner[1][1] = "http://google.com/"
banner[1][2] = "Текст_вместо_картинки_2"
banner[1][3] = "Всплывающая_подсказка_при_наведении_2"
<!-- Конец второго баннера -->

n = Math.random()*1
nb = Math.round(n)
document.write('<a href=' + banner[nb][1] + ' target=_blank>')
document.write('<img src=' + banner[nb][0] + ' alt=' + banner[nb][2] + ' title=' + banner[nb][3] + ' border=0 ' + ' > </a>')
</script>

Этот простой код произвольно показывает 1 баннер или 2 баннер. Этот ротатор был мной доработан, добавлен тег title для картинки, чтобы появлялась всплывающая подсказка при наведении курсора.
Как видно, в этом коде используется массив переменных, с несколькими элементами. Затем выводятся элементы этого массива заключенные в html-теги.

Для того чтобы выводить произвольный флеш-объект при обновлении страницы достаточно использовать лишь один элемент массива, в который поместить код флэш объекта. И выводить его без html-тегов.

Т.е. код будет выглядеть ещё проще при использовании флеш-объектов, чем при использовании баннеров.

А выглядеть он должен примерно так (образец):
<script type="text/javascript">
var banner = new Array()

<!-- Первый флеш-плеер -->
banner[0] = new Array()
banner[0][0] = ‘код флеш плеера 1’
<!-- Конец первого флеш-плеера -->

<!-- Второй флеш-плеер -->
banner[1] = new Array()
banner[1][0] = ‘код флеш плеера 2’
<!-- Конец второго флеш-плеера -->

n = Math.random()*1
nb = Math.round(n)
document.write(banner[nb][0])
</script>

Теперь ротатор флеш-объектов выглядит гораздо проще и понятней, осталось взять несколько флеш плееров и добавить их код вместо названий.
Код простого флеш-плеера генерируется на сайте http://www.strangecube.com/audioplay/, как я писал вначале.

Пример готового кода ротатора флеш-объектов:
<script type="text/javascript">
var banner = new Array()
<!-- Первый флеш-плеер -->
banner[0] = new Array()
banner[0][0] = '<object codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0" width="30" height="30"><param name="movie" value="http://www.strangecube.com/audioplay/online/audioplay.swf?file=http://m.friendfeed-media.com/9bed7a81456f9bd8fefd19499dec9bfee296e903&auto=no&sendstop=yes&repeat=1&buttondir=http://www.strangecube.com/audioplay/online/alpha_buttons/negative&bgcolor=0xffffff&mode=playpause"><param name="quality" value="high"><param name="wmode" value="transparent"><embed src="http://www.strangecube.com/audioplay/online/audioplay.swf?file=http://m.friendfeed-media.com/9bed7a81456f9bd8fefd19499dec9bfee296e903&auto=no&sendstop=yes&repeat=0&buttondir=http://www.strangecube.com/audioplay/online/alpha_buttons/negative&bgcolor=0xffffff&mode=playpause" quality="high" wmode="transparent" width="30" height="30" align="" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed></object> '
<!-- Конец первого флеш-плеера -->

<!-- Второй флеш-плеер -->
banner[1] = new Array()
banner[1][0] = '<object codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0" width="30" height="30"><param name="movie" value="http://www.strangecube.com/audioplay/online/audioplay.swf?file=http://m.friendfeed-media.com/3d18fabded17fbb6bae8b18140df112a62f28130&auto=no&sendstop=yes&repeat=1&buttondir=http://www.strangecube.com/audioplay/online/alpha_buttons/negative&bgcolor=0xffffff&mode=playpause"><param name="quality" value="high"><param name="wmode" value="transparent"><embed src="http://www.strangecube.com/audioplay/online/audioplay.swf?file=http://m.friendfeed-media.com/3d18fabded17fbb6bae8b18140df112a62f28130&auto=no&sendstop=yes&repeat=0&buttondir=http://www.strangecube.com/audioplay/online/alpha_buttons/negative&bgcolor=0xffffff&mode=playpause" quality="high" wmode="transparent" width="30" height="30" align="" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed></object> '
<!-- Конец второго флеш-плеера -->

n = Math.random()*1
nb = Math.round(n)
document.write(banner[nb][0])
</script>


Результат работы флеш ротатора можно проверить на странице: "Ротатор флеш объекта".

Этот код не валидный, нужно использовать в html-коде страницы, в блоггере отказывается работать пока не выбран обновленный режим редактирования в настройках (а также после повторного редактирования сообщения больше не работает).
Если кто знает лучший способ, пишите.

Не схожие статьи:

Комментарий (1)

Отправить комментарий

Напишите своё мнение, просьба свою почту не указывать! И не будьте анонимусами!