Highlighted

Not supported: Air + Ajax + (flex-ajax-bridge) + LCDS

Avatar

Guest

17-11-2008

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.html



where 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!