Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   JavaScript, External Interface and AS 3.0 (http://www.flasher.ru/forum/showthread.php?t=106254)

ToXICus 07.01.2008 17:45

JavaScript, External Interface and AS 3.0
 
Всем привет!
Нашел пару исходников (с флеш риппера) про применение External Interface с ява скрипт на екшен скрипт 2.0. Попытался перевести на Action Script 3.0, но ничего не получилось, тоесть сам флеш ошибку не находит, а ява скрипт ругаеться.
Вариант на AS 2.0 самой флешки:
Код:

import flash.external.*;
btn.onPress = function() {
    greeting = String(ExternalInterface.call("sayHello", "browser"));
}

Содержимое HTML страницы:
Код:

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,14,0">
  <param name="movie" value="Untitled-1.swf">
  <param name="quality" value="high">
  <embed src="Untitled-1.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash"></embed>
</object>


<script>
    function sayHello(name) {
        alert(name);
    }
</script>

Пробовал заменить в самом swf файле вроде етого (переправив структуру события
Код:

import flash.external.*;
import flash.events.MouseEvents;
btn.addEventListener(MouseEvent.MOUSE_DOWN, ms_p);
function ms_p(Event:MouseEvent):void {
 greeting = String(ExternalInterface.call("sayHello", "browser"));
}

Но после при нажатии кнопы HTML завопил что тут что то не то передано и замолчал.
Подскажите, что нужно сделать, чтобы переделать вышеуказаный код AS2.0 на AS3.0, а то вроде бы все правильно и класс не изменился.

2morrowMan 07.01.2008 19:44

Пробуй так:
Код:

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,14,0">
  <param name="movie" value="Untitled-1.swf">
  <param name="quality" value="high">
  <param name="allowScriptAccess" value="always" />
  <embed src="Untitled-1.swf" quality="high" allowScriptAccess="always" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash"></embed>
</object>


ToXICus 07.01.2008 20:18

Вложений: 1
Тоже самое, для AS 2.0 идет нормально, а при переводе на тройку ничего не работает. Проверял и на локальном и на серваке с предустановленым JS
Вот исходник на АС 2.0


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

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