Question
ExternalInterface for Scorm 1.2 LMS Communication
Hello, I've been doing a large amount of research concerning
Flash <-> LMS communication via ExternalInterface. Originally
ExternalInterface was not even an option for my company, since our
client requested the SCO be published in Flash 7, but we have
recently convinced them to upgrade to Flash 8 (and I'm actually
still pushing for Flash 9).
The decision I am facing is whether or not I should implement the ExternalInterface class, or should I just stick with the old FSCommand. I understand that the ExternalInterface is a no-brainer if you need to support browsers other than IE; however, that is not the case for us because our LMS provider only supports IE.
Personally I would like to start using ExternalInterface because Adobe seems to advocate it as the best way to communicate with Javascript, but I've read an article that says ExternalInterface is much slower than FSCommands or GetURLs (in milliseconds at least), and I also wanted to investigate and find out if anyone has implemented ExternalInterface when working with a Javascript Runtime Wrapper.
I also understand that ExternalInterface is synchronous, so does that mean my SWF is guaranteed to receive the LMS's variables back, or at least more consistently than FSCommands?
If anyone has some experience on this subject, I would greatly appreciate your input. Until then I am thinking about just replacing the FSCommands with a ExternalInterface.call() method, and passing my variables to the Javascript Function responsible for hooking the FSCommands (I believe it is MovieName_DoFSCommand()), and letting Javascript take care of setting the variables I pass it. Although if I do this, I fear I might missing out on the benefits of the synchronizing unless I rewrite the Javascript function so it returns a value immediately instead of using SetVariable() on the movie object. Please let me know what you think!!
The decision I am facing is whether or not I should implement the ExternalInterface class, or should I just stick with the old FSCommand. I understand that the ExternalInterface is a no-brainer if you need to support browsers other than IE; however, that is not the case for us because our LMS provider only supports IE.
Personally I would like to start using ExternalInterface because Adobe seems to advocate it as the best way to communicate with Javascript, but I've read an article that says ExternalInterface is much slower than FSCommands or GetURLs (in milliseconds at least), and I also wanted to investigate and find out if anyone has implemented ExternalInterface when working with a Javascript Runtime Wrapper.
I also understand that ExternalInterface is synchronous, so does that mean my SWF is guaranteed to receive the LMS's variables back, or at least more consistently than FSCommands?
If anyone has some experience on this subject, I would greatly appreciate your input. Until then I am thinking about just replacing the FSCommands with a ExternalInterface.call() method, and passing my variables to the Javascript Function responsible for hooking the FSCommands (I believe it is MovieName_DoFSCommand()), and letting Javascript take care of setting the variables I pass it. Although if I do this, I fear I might missing out on the benefits of the synchronizing unless I rewrite the Javascript function so it returns a value immediately instead of using SetVariable() on the movie object. Please let me know what you think!!