Copy link to clipboard
Copied
As support for Adobe Flex is ending in 2020, we are migrating Adobe Flex web application into Adobe AIR standalone application
as steps below
Creating certificate
./adt -certificate -cn SelfSigned 1024-RSA sampleCert.p12 samplePassword
Creating AIR application
./adt -package -keystore ./sampleCert.p12 -storetype pkcs12 -target bundle AIRApp.app App-descriptor.xml App.swf
In many places we make call to ExternalInterface like below
ExternalInterface.call("window.location.search.toString");
and exception is thrown
Error: Error #2067: The ExternalInterface is not available in this container. ExternalInterface requires Internet Explorer ActiveX, Firefox, Mozilla 1.7.5 and greater, or other browsers that support NPRuntime.
at Error$/throwError()
at flash.external::ExternalInterface$/call()
Is there a way to enable ExternalInterface in Adobe AIR?
Copy link to clipboard
Copied
What are you trying to accomplish with your ExternalInterface calls? In the example you've shown, you're checking window.location, which makes sense for a web application that's running in a browser window, but AIR generates standalone applications (exe, ipa, etc.) which don't run in a browser window, so there wouldn't be anything to communicate with.
Copy link to clipboard
Copied
Thanks for the reply Flipline.
We are trying to migrate Flex web application with SWFObject.js javascript file which runs on Flash Plugin and to Standalone AIR application with minimal changes. Does making use of Htmlloader to load the .swf in AIR application help here? As Htmlloader creates a container for HTML content. So that window.location.search.toString becomes available.
Copy link to clipboard
Copied