Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>When publishing for SCORM, Captivate does not use synchronous communication methods.* Depending on the browser, Captivate uses either FSCommand or the old-school <code>getURL</code> method to communicate with the HTML file; the HTML file then uses JavaScript to relay the data to the LMS via the SCORM API. </p> <p>The response (if any) is relayed from JavaScript to either FSCommand or a proxy SWF (for <code>getURL</code>), which is then monitored internally in Captivate via a callback function. This callback function uses timers, and that's probably where your problem lies.</p> <p>If you're setting <code>g_intAPIType</code> to 0, you're forcing the browser to use FSCommand, which isn't supported in all browsers and operating systems. Setting <code>g_intAPIType</code> to 1 means you're forcing the browser to use <code>getURL</code>, which is cross-browser but has a few drawbacks (including lots of clicking sounds).</p> <p>In both cases, the data is sent via an internal queue script, which uses the <code>waitForResponse</code> callback function.</p> <p>The performance problems you're encountering are likely due to the queuing, and the asynchronous communication compounds the problem because of timers attached to <code>waitForResponse</code>. Changing <code>g_intAPIType</code> will probably only have a minor effect on your performance issues, though using <code>getURL</code> (<code>g_intAPIType=1</code>) may help improve consistency from browser to browser.</p> <p>Regardless of the <code>g_intAPIType</code> settings, you cannot prevent the internal tracking mechanism from using the asynchronous <code>waitForResponse</code> function, so there is no way to stop Captivate from using timers when getting/setting data; over a period of time you will probably start to notice longer and longer delays like the ones you described, esp. if you're making a lot of calls to the LMS.</p> <p>(* Small exception: I've been informed Captivate 4 and 5 use ExternalInterface if the project is built in AS3 and is published for SCORM 2004, but it appears the queue and <code>waitForResponse</code> timers are still used, basically treating ExternalInterface like the asynchronous methods listed above.)</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload