Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   ExternalInterface и swfobject (http://www.flasher.ru/forum/showthread.php?t=194294)

bifidokk 11.02.2013 15:47

ExternalInterface и swfobject
 
Прошу сильно не пинать, но курение форума и гугла не дали эффекта.
Подключаю флешку через swfobject и не могу джаваскриптом достучаться до нее. Код во враппере:
Код AS1/AS2:

<script type="text/javascript" src="swfobject.js"></script>
        <script type="text/javascript">               
 
            var d = new Date();
            // For version detection, set to min. required Flash Player version, or 0 (or 0.0.0), for no version detection.
            var swfVersionStr = "11.1.0";
            // To use express install, set to playerProductInstall.swf, otherwise the empty string.
            var xiSwfUrlStr = "${expressInstallSwf}";
            var flashvars = {};
            var params = {};
            params.quality = "high";
            params.bgcolor = "#FFFFFF";
            params.allowScriptAccess = "always";
            params.allowFullScreen = "true";
            params.allowFullScreenInteractive = "true";               
            params.wmode = "direct";
            params.flashvars = flashvars;
            var attributes = {};
            attributes.id = "flash-app";
            attributes.name = "flash-app";
            attributes.align = "middle";
            swfobject.embedSWF(
                "1.swf?v=" + d.getMilliseconds(), "flash-app",
                "760 px", "660 px",
                swfVersionStr, xiSwfUrlStr,
                flashvars, params, attributes);
            // JavaScript enabled so display the flashContent div in case it is not replaced with a swf object.
            swfobject.createCSS("#flash-app", "display:block;text-align:left;");
 
            function getMovie()
                        {
                                var movie = swfobject.getObjectById("flash-app");
                                return movie;
                        }
 
                        function js_to_as() {
                                isReady();
                                getMovie().eiDataReceiver();
                        }
 
                        function isReady()
                        {
                          alert(getMovie());
                        }
        </script>

код во флешке:
Код AS3:

ExternalInterface.addCallback("eiDataReceiver", jsOnRefill);
ну и далее сам метод

матерится джаваскрипт:
TypeError: getMovie(...) is null
[Прерывать на этой ошибке]

getMovie().eiDataReceiver();

вместо swfobject.getObjectById("flash-app");
также пробовал document.getElementById("flash-app");

тот же эффект. ткните меня, что тут неправильно

Добавлено через 2 минуты
упс, проблема решена)


Часовой пояс GMT +4, время: 13:07.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.