Help
SCORM+ Javascript API

BrainHoney displays course content inside of a web-browser frame. Content playing within that frame and hosted by BrainHoney can access the BrainHoney SCORM+ API, which is available in the Document Object Model (DOM) as a Javascript object variable. (Standard browser cross-site scripting security prevents externally hosted content from accessing it.) For example, you can implement custom activity types using any browser-compatible technology, and then using the SCORM+ API update the BrainHoney gradebook with learner results for that activity.

SCORM+ extends the standard SCORM Run-time Environment (RTE) API with other interfaces specific to BrainHoney. SCORM+ contains the standard SCORM RTE API, so SCOs that use the SCORM RTE API play inside of BrainHoney without modification. For more details about the RTE API, see http://www.adlnet.gov.

SCORM+ is SCORM-compliant and supports both the SCORM 1.2 and SCORM 2004 runtime environment (RTE) specifications.

API Discovery

Your content discovers the API as it would the standard SCORM API by searching the parent hierarchy until it finds the Javascript variable named API_1484_11. (You may also search for the variable named API.) Once found, you can call any of the SCORM+ methods as shown in this example:

function findApiHost(win) {
    // Look for the API first on this window
    if (win.API != null)  {
        return win.API;
    }
    // Try looking on frameset kin
    if (win.frames.length > 0) {
      for (var i=0; i<win.frames.length; i++) {
        if (win.frames[i].API != null)  {
          return win.frames[i].API;
        }
      }
    }
    // Try parent
    if (win.parent != win) {
        return findApiHost(win.parent);
    }
    // else give up
    return null;
}

function myFunction() {
    var api = findApiHost(window);
    api.Initialize("");
   // your logic here
    api.Terminate("");
}

Although not part of the SCORM+ API, BrainHoney defines the convenience function findApiHost, to enable you to find and use the API from exam question feedback, where you cannot embed your own Javascript code.