Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Проявление страницы после окончания flash ролика. (https://javascript.ru/forum/misc/11388-proyavlenie-stranicy-posle-okonchaniya-flash-rolika.html)

Dreamweaver 21.08.2010 11:21

Проявление страницы после окончания flash ролика.
 
Ребята, помогите! Вот написал такую штуку:
<head>

<script src="jquery-1.4.2.min.js"></script>

<script type="text/javascript">

if(window.document.getElementById("movie").isPlaying==false) {

	showlayer();

}

</script>

<script type="text/javascript">

function showlayer(){

$(document).ready(function(){

	$(window.document.getElementById("hidden")).show()

});}

</script>

</head>

<body>

<div id="hidden" style="display:none">

<p>Wow!</p>

</div>

<div id="video">

<p>yoh!</p>

</div>

<object id="movie" type="application/x-shockwave-flash" data="http://flv-mp3.com/i/pic/uflvplayer_500x375.swf" height="300" width="400"><param name="name" value="movie" /><param name="bgcolor" value="#FFFFFF" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="movie" value="http://flv-mp3.com/i/pic/uflvplayer_500x375.swf" /><param name="FlashVars" value="way=http://intenditore.narod.ru/flv.flv&amp;swf=http://flv-mp3.com/i/pic/uflvplayer_500x375.swf&amp;w=400&amp;h=300&amp;pic=http://&amp;autoplay=1&amp;tools=2&amp;skin=none&amp;volume=0&amp;q=1&amp;comment=" />

</object>

</body>

Перепробовал всё возможное. Мучился месяц. Не работает. Консоль ошибок говорит: window.document.getElementById("movie").isPlaying is null.
Причём это говорится и вовремя работы плеера, и когда он стоит. Помогите, очень прошу, а то совсем ничего не понимаю!:help:

Sweet 21.08.2010 12:05

Видимо, нету такого свойства как isPlaying:) А почему из ролика нельзя вызвать функцию, например, через getURL('javascript:showlayer();') (вообще, я флешем не занимаюсь)

Dreamweaver 21.08.2010 12:10

Цитата:

Сообщение от Sweet (Сообщение 68171)
Видимо, нету такого свойства как isPlaying:) А почему из ролика нельзя вызвать функцию, например, через getURL('javascript:showlayer();') (вообще, я флешем не занимаюсь)

Я Flash только учу. Пытался сделать так, но у меня не удалось, попробую ещё. А аналог isPlaying есть? Я здесь смотрел.

Dreamweaver 22.08.2010 12:20

Ребята, ну помогите!

Kos 23.08.2010 07:54

http://javascript.ru/unsorted/bridge-to-flash

Dreamweaver 23.08.2010 10:22

То есть способов просто "спросить" флешку о том, что она делает нет?

Kos 23.08.2010 23:14

Тебе не флешку надо спрашивать, а чтобы флешка скрипту сказала "сделать то-то" :)

Dreamweaver 24.08.2010 09:32

А, спасибо, Kos. А как тогда сделать, чтобы проигрыватель что-либо сделал, в данном случае "сказал" getURL("javascript:.....") именно когда воспроизведение закончится? Я Flash пока только учу, извините, если глупый вопрос.:-?

Sweet 24.08.2010 11:35

Цитата:

Сообщение от Kos
Тебе не флешку надо спрашивать

На самом деле (если, конечно, свойство .isPlaying существует) нужно просто быть по настойчивее:)
$(document).ready(function(){
  var swf = $('#movie')
  if(!swf.isPlaying) $("#hidden").show();
    else setTimeout(arguments.callee, 0)
})

Я в jQuery несилен (там есть какая-то функция таймер.. короче, у меня полу jQ-код), но ты, я вижу, тоже:
$(window.document.getElementById("hidden"))

так делать не надо:)
К нашим баранам.. Когда DOM загружен, вызывается функция, которая постоянно спрашивает: "Ну, че, как? Идет еще фильм?" Если нет, то показывает div.

Dreamweaver 26.08.2010 21:07

:) Интересно, я и не думал, что так можно сделать это. Видимо, работает, но див отображается сразу, когда радик ещё не загружен. Как выставить тайм аут? А то я пока начинаю..
> $(window.document.getElementById("hidden"))
А почему не надо так делать?
ЗЫ. Большое спасибо, но пока у меня лимит "спасибов" кончился. Потом скажу ещё.:victory:


Часовой пояс GMT +3, время: 18:31.