If you spend any time using Adobe Captivate to create SCORM-conformant courses, you’re bound to have run into an issue or two that caused you to read some Captivate forum posts. Almost without fail, someone will mention that the solution to their problem was changing the value of the magical g_intAPIType
JavaScript variable from 1 to 0 or from 0 to 1.
So what the heck is g_intAPIType
, and why does changing it make a difference?
The short version is this: Captivate courses, when published for SCORM, typically use one of two communication methods: FSCommand or getURL
. FSCommand works really well in some browsers, such as Internet Explorer, but has spotty support in others. getURL
works in all browsers, but uses a more complicated communication system when sending data to your Captivate file from the LMS. It also makes a lot of clicking sounds.
Setting g_intAPIType
to 0 means you’re forcing Captivate to use FSCommand in all browsers. Setting g_intAPIType
to 1 means you’re forcing Captivate to use getURL
in all browsers. If you don’t manually specify the value of g_intAPIType
, Captivate’s SCORM template includes some browser sniffing that automatically sets g_intAPIType
to 0 for Internet Explorer and 1 for all other browsers.
Want to know more about FSCommand versus getURL
? Colin Moock wrote a good FSCommand tutorial that covers the basics.
Note: ExternalInterface has replaced both of these methods as the favored Flash-to-JavaScript communication method, but Captivate has not caught up yet.