Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как в as3 выполнить код JS ? (http://www.flasher.ru/forum/showthread.php?t=203273)

MD5 12.09.2013 00:14

Как в as3 выполнить код JS ?
 
подскажите по сабжу, возможно ли выполнить код JS на страничке из AS3 ?

Wolsh 12.09.2013 01:04

ExternalInterface

MD5 12.09.2013 11:07

так с помощью ExternalInterface можно вызвать любую функцию на языке JavaScript, если эта функция уже есть на страничке, а я про то, например, чтобы создавался див дополнительный в контенте и этот код только на AS3

mooncar 12.09.2013 11:25

С помощью ExternalInterface не обязательно выполнять JS, уже имеющийся на странице.
Напишите аргументом метода ExternalInterface.call строку, в которой будет представлен код JS, выполняющий нужные действия.

KumoKairo 12.09.2013 11:30

Цитата:

Напишите аргументом метода ExternalInterface.call строку, в которой будет представлен код JS, выполняющий нужные действия.
Небольшое уточнение - кусок кода нужно передавать в виде строки функции eval:
Код AS3:

var myLittleJSBehavior:String = "var i = 0; console.log(i + 5);"
if(ExternalInterface.available)
{
    ExternalInterface.call("eval", myLittleJSBehavior);
}

Вот это 100% проверенный метод

razerw 12.09.2013 12:06

отличная статья, с хорошим примером
http://http://circlecube.com/2010/12/actionscript-as3-javascript-call-flash-to-and-from-javascript/

MD5 12.09.2013 17:52

Код AS3:

 
package  {
 
import flash.external.ExternalInterface;
 
        public class GClass {
 
                public function JS():void
                        {
                                var myLittleJSBehavior:String = "alert(1);"
                                if(ExternalInterface.available)
                                        {
                                            ExternalInterface.call("eval", myLittleJSBehavior);
                                        }
                        }
 
 
        }
 
}

в действиях первого кадра

Код AS3:

var G:GClass = new GClass();
G.JS();

компиляция, вставка swf в html - проверка и алерта нету, где ошибка подскажите

mooncar 12.09.2013 18:02

Выложите всё на сервер в первую очередь и тогда проверяйте.

MD5 12.09.2013 18:20

так я проверяю на локальном сервере

Добавлено через 17 минут
еще вопрос, в панеле Вывод trace(ExternalInterface.call('eval', '1 + 1')) должен показать 2 или нет ? у меня выводит null

Добавлено через 2 часа 8 минут
спасибо разобрался )


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

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