I'm working on an e-learning project where I need to provide interaction between Flash and Moodle's SCORM Javascript API.
Actually this is done already. It was made with fscommand but when it comes to Internet Explorer 9 it stops working.
This is an old legacy project and there is a lot relying on these interactions so I can't simply change it to ExternalInterface (which I have been using in recent projects).
I've tried changing allowScriptAccess to "always" but it didn't work. I've also tried using meta http-equiv="X-UA-Compatible" with several different content values but it didn't work too.
Using any other technology also isn't an option.
If does someone have any suggestions or a solution that worked for any similar case, I would like to know.
Thanks in advance.
Thanks for the reply, Mark. Yes, you guessed it right. I had tried
EmulateIE8
and lesser, but no success.After a lot of research, I came to a solution, but I couldn't do it without giving up on
fscommand
.Before:
I had an embeded SWF calling
fscommand
and a Javascript API with a_DoFsCommand
function that handled the SCORM API Interactions. The SCORM response were passsed back to the SWF by Javascript's nativeSetVariable
function.Then: I changed all my fscommand calls to
ExternalInterface.call
calling directly the_DoFsCommand
function and passing to it its expected values. So, even giving up on Flash'sfscommand
I could keep the rest of the code.Then I came to another problem, the
SetVariable
function varies depending on the DOM Object and the Internet Explorer version. It can be embed's function or object's function. So I had to check if the embed did have theSetVariable
function before calling it. If it didnt I call it from the object.This way I guarantee that all versions of Internet Explorer would support Flash's request and SCORM responses without major changes in my project.