PDA

Просмотр полной версии : Flash+JS не работает под лисой и IE7


Gaen
12.05.2008, 15:22
Флэшка писана на AS3, через ExternalInterface объявляется доступной для вызова функция самой флэшки, и до кучи вызывается внешняя функция яваскрипта. Из яваскрипта соответственно вызывается функция флэшки.

Яваскрипт из флэша вызывается всегда, а вот функция флэша из яваскрипта под firefox и ie7 не вызывается. В чём может быть дело и как бороться?

обращение к флэшке:
document.getElementById('flash').foo('bar');

Alex Lexcuk
12.05.2008, 20:08
Раздел Актион Скрипт с нуля, че? не смотрит никто. Я ж отписал эту фишку уже давно.
Ну да ладно... Эх раз еще раз...
Флешка управляет звуками Явы. Ява управляет загруженными в флешку swf-ками
http://dnadillo.dn.ua/php_flash/MUS/Mus_1.html
http://dnadillo.dn.ua/php_flash/MUS/Mus_1.rar

Gaen
12.05.2008, 22:10
CPP, привет (:
Этот код не совсем работает, я в этом не уверен потомучто он намертво завешивает мою оперу и почти намертво ие плюс не совсем понятно, как можно увидеть что флэшка таки получила вызов из js и наоборот.
Вообще много чего в примере не понравилось, но это уже другая история, если хочешь - расскажу. Короче он никак не сможет помочь :)

Alex Lexcuk
12.05.2008, 23:44
ОПЕРУУУУ на мусорниккккк. ну на нет и суда нет.
Сразу говорили бы, что у Вас ООППЕЕРРАА
В общем у меня этот самодельный пример выглядет так, при загрузке играет миди музыка Wind

Если во флешке нажать на кнопку Star будет играть миди музыка со звездных войн.

Если нажать на ява кнопку листопад во флешке появится листопад и изменится надпись в текстфилде на цифру 3... и т.д.

Оперу не юзаю, т.к. она юзает локал хост, а он мне нужен сильно, этот пример тестисля в ИЕ7, т.к. другие браузеры не люблю, и не юзаю.
http://kind-armadillo.pochta.ru/pic/THIS_MEGA_GOOD.gif

Gaen
13.05.2008, 00:20
К сожалению клиентов не устраивает вариант сменить браузер, им подавай флэшку которая работает везде :)
А что там с локалхостом? У меня с сервером на локальной машине никаких проблем никогда не возникало...

Alex Lexcuk
13.05.2008, 00:51
И у меня не возникало, потому, что у меня ее нету, но она все сначала пишет на локал хост, а потом выдает вот такой прикол, локал хост у нее типа мусорника.
Значит, целесообразно при загрузке определять версию броузера и делать избирательную загрузку отдельно для ОПЕРЫ и для всего остального. т.е. как и положено в таких крутых навороченных проектах две версии или три сайта на каждый специфический броузер. Как сделать рабочую фишку под оперу не имею понятия, но плющит ее конкретно.
Может поможет эта ссылка
http://www.kirupa.com/forum/showthread.php?t=297665

Корректное отображение, типа новый swfobject
http://www.swffix.org/swfobject/generator/
Наверно на опере пойдет, что то типа

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">
var flashvars = {};
var params = {};
var attributes = {};
swfobject.embedSWF("untitled.swf", "myAlternativeContent", "800", "600", "9.0.0", false, flashvars, params, attributes);
</script>
</head>
<body>
<div id="myAlternativeContent">
<a href="http://www.adobe.com/go/getflashplayer">
<img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" />
</a>
</div>
</body>
</html>