|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: May 2011
Сообщений: 25
|
AS 3 + JS ( ExternalInterface.addCallback )
Здравствуйте.
Бьюсь над проблемой вызова функций из JS, но ничего не работает. Файрфокс ничего не говорит, а ИЕ ругается "объект не поддерживает свойство или метод". HTML: <!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>File Uploader - adylevy.com</title> <meta http-equiv="Content-Type" content="text/html; charset=Windows-1251" /> <script type="text/javascript" src="js/swfobject.js"></script> <script type="text/javascript"> var flashvars = {}; flashvars.path = ""; var params = {}; params.menu = "false"; params.scale = "noscale"; params.salign = "tm"; params.allowScriptAccess = "always"; params.swliveconnect = "true"; var attributes = {}; attributes.align = "middle"; swfobject.embedSWF("swf/imgUpload.swf", "flashHolder", "100%", "100%", "10.0.0", false, flashvars, params, attributes, swfEmbeded); function swfEmbeded(e){ if(e.success){ mySWF = document.getElementById('flashHolder'); mySWF.swfSelFile('a'); } } </script> </head> <body style='background-color:#123456;margin:0px;padding:0px;'> <div id='mainHolder' style='position:absolute;width:100%;height:100%;'> <div id="flashHolder"> <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> </div> </body> </html> AS3: |
|
|||||
1.
может быть недостаточно. Посмотрите, как нужно получать ссылку на объект во флешевой документации
2. В момент вызова флеш скорее всего ещё не успел подписаться (ExternalInterface.addCallback) |
|
|||||
Регистрация: Jul 2011
Сообщений: 67
|
Ну вы вызываете функцию swfSelFile() у mySWF, который является "ссылкой" на контейнер flashHolder в котором непонятно что вообще находится. Нужно у объекта swf-ки вызывать зарегистрированную функцию, нэ?
|
|
|||||
Регистрация: May 2011
Сообщений: 25
|
andrew911, в вашем куске из документации есть movieName, это то же самое что ID ?
ProxyGreen, - это и регистрирует функцию-мост между JS и AS. А контейнер flashHolder заменяется на мувик с таким же ID - выше в JS написан embedSWF, который это делает. fljot, вызов достаточен, проверял через mySWF.width = '100'; Насчет "не успевает" - врятли, таймаут на 10 сек ставил. |
|
|||||
Регистрация: May 2011
Сообщений: 25
|
Файрбаг показывает что вместо контейнера становится объект с id, и явное указание бесполезно.
Добавлено через 8 минут Это то что показывает флеш плеер (дебаг версия): TypeError: Error #1010: Термин не определен и не имеет свойств. at MethodInfo-327() at Function/http://adobe.com/AS3/2006/builtin::apply() at flash.external::ExternalInterface$/_callIn() at Function/<anonymous>() Добавлено через 18 минут Тема закрыта: ExternalInterface.addCallback( 'myfun', myfun ); myfun была приватной, а должна быть публичной в классе, это моя ошибка в AS. Спасибо за участие. |
|
|||||
Цитата:
И при чем тут область видимости метода, тогда как он нужен исключительно внутри класса? В данном случае. |
Часовой пояс GMT +4, время: 15:59. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|