Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Вызов AS из JS и наоборот. (http://www.flasher.ru/forum/showthread.php?t=148174)

Srednas 23.12.2010 14:24

Вызов AS из JS и наоборот.
 
Здравствуте.
Возникла проблема, уже долго не могу понять в чем дело. Из AS в JavaScript передается сообщение нормально, а вот обратно - не вызывает никакой реакции. Подскажете в чем дело?

Код AS3:

var myText:String = 'Hello World!';
var myTextField:TextField = new TextField;
myTextField.x = 100;
myTextField.y = 100;
myTextField.text = "Clear!";
addChild(myTextField);
 
stage.addEventListener(MouseEvent.CLICK, sendMessage);
 
ExternalInterface.addCallback('strFromJs', setConnect);
 
//ф-я слушатель клика по сцене
function sendMessage(e:MouseEvent):void{
        alertFromJs();
}
 
//ф-я слушатель, получает параметры от ф-ии с веб страницы
function setConnect(str:String):void{
        myText = 'setConnect';
        myTextField.text = str;
        alertFromJs();
}
 
//ф-я отправки текста в алерт ява-скрипта
function alertFromJs():void{
        ExternalInterface.call('sayHello', myText);
}

Текст HTML:

Код:

<html>
        <head>
                <title>AS_JS</title>
 
<script type="text/javascript">
        function sayHello(param)
      {
          alert(param);
      }

        function strFromJs(){
                document.AS_JS.strFromJs(str);
        }
 </script>


        </head>
        <body>

        <script>sayHello('param')</script>

                <div id="flashContent">
                        [..Flash object..]
                </div>

        <script>strFromJs('Hi!')</script>

        </body>
</html>


gloomyBrain 23.12.2010 14:55

Цитата:

document.AS_JS
Что это? Вам нужно получить ссылку на DOM-элемент флешки, и у него вызывать метод strFromJS()

Srednas 23.12.2010 14:59

Цитата:

Сообщение от gloomyBrain (Сообщение 959467)
Что это? Вам нужно получить ссылку на DOM-элемент флешки, и у него вызывать метод strFromJS()

.. как это сделать?

gloomyBrain 23.12.2010 15:28

У тегов object и embed есть параметры id и name. Через getElementById можно получить ссылку на флешку.

inozemcev 23.12.2010 16:11

есть такой вариант: http://code.google.com/p/jsinterface/


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

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