PDA

Просмотр полной версии : данные из javascript во Флэш и назад


vav2001
04.02.2012, 19:12
Пишу на QT но из-за "некоторых трудностей" сериализации/десирилизации протокола AMF (в QT напрочь отсутвует возможность) требуется реализовать следующий механизм:

1) из яваскрипта передать флэшу бинарные параметры
2) вернуть из флэша в яваскрипт строковый результат

Подскажите направление )) ну или лучьше маленький примерчик.
Из инструментов имею Flash Builder, работает trace, из знаний по AC3 толко несколько глав Мука - Классы и переменные.

in4core
04.02.2012, 19:14
ExternalInterface

vav2001
04.02.2012, 19:37
ExternalInterface

ага спасибо за направление. нашел пример использования но нужно как-то подгрузить сам ExternalInterface, а то компилятор незнает, что это

Jewelz
04.02.2012, 19:42
import flash.external.ExternalInterface;

vav2001
04.02.2012, 19:45
import flash.external.ExternalInterface;

большой мэрьсью ))

Добавлено через 52 минуты
при запуске моего флэша в эксплоуре возникает ошибка

SecurityError: Error #2060: Нарушение изолированной среды: вызывающий объект ExternalInterface file://C:\projekt\TEST\mypr.swf не может осуществить доступ к file://C:\projekt\TEST\teststart.html.
at flash.external::ExternalInterface$/_initJS()
at flash.external::ExternalInterface$/addCallback()
at MyPr()[C:\Documents and Settings\Андрей\Adobe Flash Builder 4.6\MyPr\src\MyPr.as:16]



код моей html странички

<body>
<script type="text/javascript" src="js/ac_runactivecontent.js" language="javascript"></script>
<div id="flash" class="flash">
<script type="text/javascript" language="javascript">


var wmode = /^11.1/.test(AC_GetSwfVer()) ? 'opaque' : 'direct';


AC_FL_RunContent(
'id', 'SwfMain',
'name', 'SwfMain',
'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0',
'pluginspage', 'http://www.macromedia.com/go/getflashplayer',
'allowFullScreen', 'true',
'allowScriptAccess','sameDomain',
'menu', 'true',
'align', 'middle',
'salign', '',
'width', '100%',
'height', '100%',
'expressInstall', '/images/swf/expressInstall.swf',
'src', 'mypr.swf',
'flashvars','swfPath=images',
'quality', 'high',
'play', 'true',
'loop', 'true',
'scale', 'showall',
'devicefont', 'false',
'wmode', wmode,
'bgcolor', '#000000',
'requiredversion', '10.0.0'
)



</script>
</div>
</body>

Jewelz
04.02.2012, 20:45
возможно надо в параметрах эмбеда флешки вставить

allowScriptAccess="always"

vav2001
04.02.2012, 22:50
кому будет интересно вопрос освещается тут подробно http://javascript.ru/unsorted/bridge-to-flash