PDA

Просмотр полной версии : Проблема вызова JavaScript из Flex


vinny_sk
27.01.2010, 11:40
Доброго времени суток!
Возникла острая необходимость вызвать js-функцию из flex3 приложения
if (ExternalInterface.available) выдает "true", но js не вызывается.
Привожу пример того, что написано.
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="480" height="350">

<mx:Script>
<![CDATA[
import flash.external.ExternalInterface;

public function jsDisplay():void
{

if (ExternalInterface.available)
{
ExternalInterface.call("displ",myText.text);
myTextCB.text = 'yes';

}
else { myTextCB.text = "Error sending data!";}
}
]]>
</mx:Script>

<mx:Text text='test_text' x='20' y='10' id='myText'/>
<mx:Text text="1" x='20' y='40' id='myTextCB'/>
<mx:Button x="10" y="256" label="JavaScript Display" id="butJSDisplay" click="jsDisplay()"/>
</mx:Application>

<html><head>
<script language='javascript'>
function displ(text) {document.getElementById('myP').innerHTML=text;}
</script>
</head>

<body>
<object style="visibility: visible;" id="swf-JSTutorial" data="textjs.swf" type="application/x-shockwave-flash" width="480" height="350">
</object>
<p id='myP'></p>
</body></html>

По задумке по нажатию на кнопку JavaScriptDisplay текст должен отобразиться вне flex-приложения.
Если кто может подсказать в чем проблема буду крайне благодарен.:)

vinny_sk
01.02.2010, 11:39
Небольшое уточнение! Вызов js из flex прошел в IE, но странным образом firefox и Opera отказываются работать. Если кто знает решение проблемы скажите:)