Did you prove that the JS function gets called in IE9?
i can absolutely guarentee that it does. I created a simple button page that supports this.
Also should add that the same exact behavior is present in Opera but since it isn't really a major browser, it isn't much of a concern.
Maybe I wasn't clear. I want to know if you proved that ExternalInterface
can call JS code in IE9.
Just tried a simple alert command and worked fine...
In fact, i have norrowed the problem area is the xmlHttp.onreadystatechange = function() line...
it just won't execute with ie while in flex...
no problem when alone.
1 person found this helpful
You said Fiddler didn't show a request. Maybe some security setting in IE9
is blocking when run in a SWF context. Try setTimeout to delay the send.
Ok so now there is some improvement, it now executes and get a response, according to fiddler, but the event still does not fire. Therefore i cannot use the return value. (unless you know of an alternate way to get the response)
No idea, but a google search for XMLHTTPRequest IE9 shows that other folks
have had surprises in this area.
I don't know anything about IE9, but it looks like it has several modes like
standards mode and IE8 mode. Maybe you can try those modes and maybe your
test non-Flex app is running in a different mode.
Well i have tried the compatibility mode and with flex... no such luck. I also tried IE8 seems to have no difference with an xp client. So to reiterate, the event fires properly when not lauching the function from flex, but does not fire when launched from flex. I am completely dumbfounded. It almost has to do with what flex does to ie to make flex run. I mention this because it doesn't seem an exclusively ie issue.
Well, you can take Flex out by making an AS-only project. You can also try
putting a button in your HTML wrapper and see if it matters if Flash is just
running or if you are in the context of the Flash external interface call.
I will start a new question.