Yes, now that I know about it, it makes complete sense... I can just see some malware writer going nuts with this if it were able to load an external app without user interaction...
I'll make an entry on the livedocs page as soon as I can -- right now it's giving me a "page not available" error... L. On Mon, Oct 25, 2010 at 7:38 AM, Scott Talsma <[email protected]>wrote: > This kinda makes sense. Browsers are no longer allowing you to simply open > new windows via javascript. Their opening must be tracable back to a > user-gesture (i.e. mouse click). I guess it is Adobe's way of preventing > its platform from getting a bad rap for being used as an ad-ware > distributor. > > Still, it's frustrating that you could not find the documentation around > that. Did you add your discovery as a livedocs entry? > > > On Sun, Oct 24, 2010 at 9:31 PM, Laurence MacNeill <[email protected] > > wrote: > >> Found the problem. You have to call the air.swf's launchApplication >> method from within a user-caused event handler. It MUST be in response to a >> mouse-click or keyboard event, and NOT one that was programmatically >> generated (e.g. you cannot call a function with something like >> "buttonClickHandler(new MouseEvent(MouseEvent.CLICK));" and expect it to >> work.) >> >> So -- don't try to launch an external app unless you're doing it from >> within a function that was called by a user-generated event. A >> programmatically-generated event will fail every time, and will give you NO >> WARNING! (Nice little "undocumented feature" in air.swf...) >> >> L. >> >> >> >> On Sat, Oct 23, 2010 at 5:35 PM, Laurence MacNeill < >> [email protected]> wrote: >> >>> Oh, and of course allowBrowserInvocation is set to true... >>> >>> L. >>> >>> >>> On Sat, Oct 23, 2010 at 4:30 PM, Laurence MacNeill < >>> [email protected]> wrote: >>> >>>> I'm loading the air.swf properly (I know this because when I run the >>>> Flex program in Debug mode, there's a message on the console telling me >>>> that >>>> air.swf loaded properly...) >>>> >>>> When I call the air.launchApplication function, though, nothing >>>> happens... >>>> >>>> myAirSWF.launchApplication("myAirProgramID", "", [myArgs]); >>>> The above does nothing at all... No errors, no nothing... >>>> >>>> It's AIR 2.0, which uses no Program ID (hence the second parameter there >>>> being a "" instead of the program ID.) From what I've read, this SHOULD >>>> work. But it does nothing. I also read somewhere that perhaps putting " " >>>> (a space) in the Prog. ID will help -- but that also did nothing. >>>> >>>> So why is my AIR app not loading from my Flex program? It should be >>>> working... >>>> >>>> The only thing I can think of is that maybe there's an event being >>>> passed back that I'm not listening to, perhaps? But that's not in the >>>> documentation for this air.swf file... Or perhaps it's because it's a >>>> secure (https) Flex page calling an insecure AIR app? Any ideas? >>>> >>>> Thanks, >>>> Laurence MacNeill >>>> Mableton, Georgia, USA >>>> >>> >>> >> > > > -- > Scott Talsma > CTO, echoEleven >
