I'm building an application Air (Flex + extjs) and offline synchronization with LCDS. For sure I need the flex-ajax-bridge.
But the experiments failed on Air runtime container, when ajax tried to communicate with server end data services.
And I checked the source code of flex bridge file (FDMSBridge.as):
import bridge.FABridge;
import flash.display.DisplayObject;
import flash.display.MovieClip;
import flash.events.Event;
import flash.external.ExternalInterface;
......
import mx.core.mx_internal;
use namespace object_proxy;
[Frame(extraClass="FakeFlexInit")]
public class FDMSBridge extends FDMSBase
{
private var gateway:FABridge;
public function FDMSBridge()
{
super();
if (ExternalInterface.available == false)
{
return;
}
......
ExternalInterface.addCallback("createObject", createObject);
}
private function createObject(className:String, cArgs:Array):Object
{
}
......
From the source code, we can tell the bridge rely heavily on the flash.external interface; AND look at this link -
http://livedocs.adobe.com/labs/air/1/aslr/flash/external/ExternalInterface.htmlwhere it says -
Note: Adobe AIR currently does not support the ExternalInterface class.
which leads to the conclusion that:
Air + Ajax(HTML) + LCDS solution is not supported by AIR currently.
The ExternalInterface class environment:
Browser Operating System Operating System
Internet Explorer 5.0 and later Windows
Netscape 8.0 and later Windows MacOS
Mozilla 1.7.5 and later Windows MacOS
Firefox 1.0 and later Windows MacOS
Safari 1.3 and later MacOS
Can anyone tell me what's the version of AIR built-in browser (squirralfish)? or, will AIR support FDMSBridge soon?
Thanks!