PDA

Просмотр полной версии : Возможно ли с помощью actionscripta повлиять на html


syegorius
08.05.2011, 12:40
И снова здрасте. Прошу не гневайтесь, потому что чувствую я уже успел за ночь многих тут достать. Новый вопрос от меня прозвучит так - как можно сделать, что бы при удачном выполнении какой-то операции флеш приложение влияло на html и родительскому div присваивало стиль "display: none;"? Спасибо, что выслушали...

mooncar
08.05.2011, 13:15
Конечно.
Читайте про класс ExternalInterface.
1. Для начала напишите JavaScript - функцию, которая бы задавала нужный стиль блоку.
2. Добейтесь ее работы без всякого флеша, просто с HTML-кнопки.
3. А потом с помощью метода ExternalInterface.call() по нужному событию во флеше ее вызывайте.
Неоднократно использовал сам такую схему.
Синтаксис простой, см. в хелпе.

syegorius
09.05.2011, 04:44
сделал вот так
ExternalInterface.call("graffitiHide");
работает только в хроме. В опере, мозиле не работает, а про ие я вообще не говорю - он повис после того как я прописал эту функцию.
И еще - не сочтите меня за дурака но где ваш хелп, я долго искал так и не понял что это за раздел, если можно то дайте ссылку на него

NikolyA
09.05.2011, 05:06
либо во флеше жми кнопку F1 и поиск по ExternalInterface либо в гугле поиск по ExternalInterface - и ты получишь такое количество примеров, какое тебе и не снилось

syegorius
09.05.2011, 05:32
только что прописал
CODEBASE="http://activex.microsoft.com/controls/iexplorer/iegrad.ocx#Version=4,70,0,1161"
и теперь работает и в мозилле. Скажите какую версию activeX нужно прописывать, что б работало во всех браузерах? Меня настораживает слово iexplorer в пути, ведь в моем iexplorerе так и не работает, зато в мозиле заработало

NikolyA
09.05.2011, 06:10
<script type="text/javascript">
AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0','width','100%','height','100%','src','title','quality','high','pluginspage','http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash','wmode','Transparent','movie','title' ); //end AC code
</script><noscript><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="100%" height="100%">
<param name="movie" value="title.swf" />
<param name="quality" value="high" />
<param name="wmode" value="Transparent" />
<embed src="title.swf" width="100%" height="100%" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" wmode="Transparent"></embed>
</object>

и файлик есть такой: AC_RunActiveContent.js вот его прописую:
<script src="AC_RunActiveContent.js" type="text/javascript"></script>

и работает во всех браузерах одинакового

syegorius
09.05.2011, 07:30
пасибо, получилось, правда теперь в опере 9 не работает. У меня еще один вопрос - а как теперь передать FlashVars с помощью AC_FL_RunContent()?