![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Проблема такова:
Эти дебильно-умные дядьки выдумали 2 вида браузеров IE и Мозилу (оперу я не в счет) с разными видами событий и способов обработки содержимого страниц!!! теперь по теме: Есть флешка которая из яваскрипта должна получить какие-то данные. Эти данные можно получить только после полной загрузки страницы. Все вроде просто setVariable, getURL или fscommand, но не так просто как хотелось бы, получаеться 2 варианта которые ВСЕГДА нормально работают только в одном из браузеров %(( Вариант 1. Вешаем нашу функцию получения данных на обработчик события onLoad все прекрасно работает, но только в ИЕ. в ФФ нет. Я это объясняю следующим: у ИЕ оно срабатывает когда вся страница загрузилась, причем во время загрузки ИЕ сразу создает все сопутствующие объекты (т.е. сразу создает контейнер для флешки и начинает сразу грузить в него флешку). У ФФ тоже когда страница загружена полностью, но ФФ создает сопутствующие объекты только после того как загрузил страницу, что очень печально получаеться мы наши данные отсылаем еще пустому контейнеру для флешки%((. как выход пытался воткнуть так onLoad=setTimeout('send()', 100); но блин это не выход, иногда этот тайм аут не успевает - смысл увеличивать его тоже не приведет не к чему (не успело за 0.1 сек не факт что успеет за 2 сек %( ). Вариант 2. Идем на поводу у ФФ. Получаеться что он загружает флешку только после того как загрузил контент страницы. т.е если мы из флешки вызовем getURL или fscommand для вызова send то всегда это произойдет после загрузки страницы (действует и для setVariable), но тут нас обламывает ИЕ он то флешку уже вгрузил а страницу еще не всю. Посоветуйте кто, что может %). Хотелосьбы найти приятное решение которое былобы в одном блоке яваскрипта ну и внутри флешки. чтоб не разбрасывать весь скрипт по всей странице. PS если я что-то неверно сказал исправте меня. |
|
|||||
|
Banned
[+1 16.05.2006]
[++1 16.05.2006] [+ 1 21.05.06] [++ за хамство] [+1 21.05.2006] Регистрация: Dec 2003
Сообщений: 3,925
|
Сделать функцию, которая делает && двум флагам: исполнения body.onLoad и вызова функции о загрузке из .swf
|
|
|||||
|
тут еще такая мелкая запара хотелосьбы совсем избежать использование
<body onLoad="....">. Это будет что-то типа баннера (т.е. вставляемый кусок НТМЛ и Яваскрипта, без изменения самой страницы вцелом). пытался сделать window.onload = send document.onload = send но это работает только для ИЕ. %(( в ФФ есть альтернатива этому ? |
|
|||||
|
Регистрация: Nov 2005
Сообщений: 149
|
во избежание лишних вопросов сразу кидаю кусок работающего кода(без полного списка всех переменных). Суть вот в чем - переменные можно передавать во флешку прямо из хтмл через FlashVars . Обращаю ваше пристальное внимание на то, что эти переменные должны быть и в таге <PARAM и в таге <EMBED. С первым работает под ие, а со вторым под фф. Я в свое время часа 2 потратил, пока на фф заработало. Под фф флеш-плейера для линукса тоже много глюков. Берегитесь.
Потом к переменным можно обращаться по тем же именам, что и в тагах , типа _root["numeJoc"]; Причем - эти переменные создаются сами внутри клипа, их даже не надо создавать на момент компилляции. <OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" ID="partide" WIDTH="635" HEIGHT="450" ALIGN=""> <PARAM NAME=movie VALUE="http://dzserv.neogen.ro/new/partide3v012.swf"> <PARAM NAME=FlashVars VALUE="numeJoc=scorch&numeTabla=doizece&debug=0"> <PARAM NAME=quality VALUE=high> <PARAM NAME=bgcolor VALUE=#FFFFFF> <EMBED src="http://dzserv.neogen.ro/new/partide3v012.swf" FlashVars="numeJoc=scorch&numeTabla=doizece&debug=0" quality=high bgcolor=#FFFFFF WIDTH="635" HEIGHT="450" swLiveConnect=true ID="partide" NAME="partide" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"> </EMBED> </OBJECT> |
|
|||||
|
вобщем я сделал приблизительно так ка говорил Антарес.
meiciuc немного не то, данные нужно передавать не статические а динамические, т.е. сформировать их во время работы! Но все равно спасибо за заботу %). ЗЫ Опера мастдай. я даже не хочу думать о том как это сделать чтоб под нее работало !, и наверное постараюсь съехать сославшись на 1.5-2 % пользователей %) |
![]() |
![]() |
Часовой пояс GMT +4, время: 12:40. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|