![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Aug 2010
Сообщений: 44
|
Здравствуйте. Возникла проблема. Пытаюсь научиться передавать переменные из JavaScript во Flash.
В итоге все браузеры понимают и хром и лиса, а интернет експловер не хочет и находит кучу ошибок =) Вот пример сделан на скорую руку чтобы нагляднее показать. (Извините за маленькую небрежность оформления). http://ownerofsuccuby.narod.ru/TestTemp/test.html html код: flash.system.Security.allowDomain("*"); ExternalInterface.addCallback("mFlashFunction",myffunction); function myffunction(t:String):void { mytext.text=t; } <HTML>
<script>
function mPost(){
var MyFlsh=document.getElementById('MyFlash');
var MyFlsh2=document.getElementById('MyFlash2');
var MyTxt=document.getElementById('MyText').value;
MyFlsh.mFlashFunction(MyTxt);
MyFlsh2.mFlashFunction(MyTxt);
}
</script>
<form>
<input type="text" id="MyText"/>
<input type="button" value="ok" onclick="mPost()"/>
</form>
<EMBED SRC="./MC.swf" id="MyFlash" width="400" height="300" autostart="true" loop="true">
<object type="application/x-shockwave-flash" id="MyFlash2" data="MC.swf" width="800" height="600">
<param name="quality" value="high" />
<param name="allowScriptAccess" value="always" />
<param name="allowFullScreen" value="true" />
<param name="menu" value="false" />
<param name="wmode" value="transparent" />
<param name="movie" value="MC.swf" /> <!-- Не срабатывает -->
<param name="allowScriptAccess" value="always" />
<embed type="application/x-shockwave-flash" id="MyFlash2" pluginspage="http://get.adobe.com/flashplayer/" wmode="transparent" src="MC.swf" width="800" height="600">
<noembed><img src="images/no_flash.png" alt="No flash" width="800" height="600" /></noembed>
</embed>
</object>
</HTML>
Извините за малость кривой код и русский язык - просто мозг уже отказывается работать =) |
|
|||||
|
Регистрация: Jan 2010
Адрес: владивосток
Сообщений: 250
|
Можно еще попробовать через Setvariable.
Потом просто во флеше проверяешь каждый кадр, если переменная появится. |
|
|||||
|
Модрон-ветеринар
|
Было такое. Консоль ошибок в IE проверьте. Вероятно там что-то типа "mFlashFunction не является методом..." или в таком духе. Кажется связано было с тем, что этот метод не успевал проинициализироваться, и IE тупо не видел его у объекта флешки.
Попробуйте использовать для публикации флешки SWFObject. PS. И временно закомментируйте в JS строку "var MyTxt=...", оставьте там вообще самое необходимое для проверки одной флешки с ExternalInterface - возможно IE, анализируя функцию JS, просто не добирается до нужной строки из-за ошибок в предыдущих. PPS. У вас еще заголовочки кода перепутаны в сообщении - html и AS3.
__________________
Идите первым! Последний раз редактировалось mooncar; 10.05.2012 в 01:35. |
|
|||||
|
Регистрация: Aug 2010
Сообщений: 44
|
Огромное спасибо за ответы. Силой магической магии всё заработало. Походу тег эмбед и всё что с ним связано всё портил ) без него работает. В исходной флешке его и не было - а тут я приписал его для допроверки результата. Оказалось что я дописал неправильно =)))
Но зато сделал вывод - где то в оригинальной версии у меня идут наложения раз не работает. Вот код который магическим образом =))) запустился =) Может когда нибудь кому то пригодится =))) Код HTML <HTML>
<script>
function mPost(){
var MyFlsh2=document.getElementById('MyFlash2');
var MyTxt=document.getElementById('MyText').value;
MyFlsh2.mFlashFunction(MyTxt);
}
</script>
<form>
<input type="text" id="MyText"/>
<input type="button" value="ok" onclick="mPost()"/>
</form>
<object type="application/x-shockwave-flash" id="MyFlash2" data="MC.swf" width="800" height="600">
<param name="quality" value="high" />
<param name="allowScriptAccess" value="always" />
<param name="allowFullScreen" value="true" />
<param name="menu" value="false" />
<param name="wmode" value="transparent" />
<param name="movie" value="MC.swf" /> <!-- Не срабатывает -->
<param name="allowScriptAccess" value="always" />
<embed type="application/x-shockwave-flash" id="MyFlash2" pluginspage="http://get.adobe.com/flashplayer/" wmode="transparent" src="MC.swf" width="800" height="600">
<noembed><img src="images/no_flash.png" alt="No flash" width="800" height="600" /></noembed>
</embed>
</object>
</HTML>
Кстате да, я в первом посту ещё и перепутал названия цитат с кодами =) Спасибо что поправили. |
|
|||||
|
Регистрация: Aug 2010
Сообщений: 44
|
Попробую ) Спасибо за совет.
Последний раз редактировалось OwnerOfSuccuby; 10.05.2012 в 22:30. |
![]() |
![]() |
Часовой пояс GMT +4, время: 20:24. |
|
|
« Предыдущая тема | Следующая тема » |
|
|