The pipwerks SCORM API Wrapper
Branch: master
Clone or download
pipwerks Adopt module pattern
* Wrapped the wrapper in a module pattern for compatibility with modern JS stacks.
* Added "use strict" declaration inside module
* Minor file formatting updates (no changes to code or logic)
* Incremented the version number
Latest commit 82e455b Sep 6, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
src Adopt module pattern Sep 7, 2018
.gitignore Add gitignore Dec 27, 2014
package.json Updated version # Mar 22, 2016 Update Jun 15, 2015

Created by Philip Hutchison, January 2008

Copyright (c) Philip Hutchison
MIT-style license:

Inspired by APIWrapper.js, which was a demo file created by the ADL and Concurrent Technologies Corporation.

The SCORM.API.find() and SCORM.API.get() functions are based on ADL code, which was modified by Mike Rustici (, then further modified by Philip Hutchison.

WARNING: Use at your own risk! These files are provided as-is with no implied warranties or guarantees.


These wrappers are intended to make your life easier so you don't need to be a SCORM expert to add SCORM support to your e-learning course.

The SCORM API wrappers are an abstraction layer that makes adding SCORM code to your course a much simpler, less confusing task. They provide simple logic and error-checking for your course's SCORM code, and include some auto-handling, such as setting cmi.exit (aka cmi.core.exit) when exiting a course.

The SCORM API Wrappers come in three varieties:

  • JavaScript
  • ActionScript 2 (AS2)
  • ActionScript 3 (AS3)

All three wrappers are SCORM version-agnostic, and will work with both SCORM 1.2 and SCORM 2004. Both of the ActionScript wrappers require the JavaScript wrapper; the AS wrappers use ExternalInterface to invoke functions contained in the JavaScript wrapper. If the JS wrapper is not present, the ActionScript wrappers will not work.

The ActionScript wrappers use ExternalInterface to communicate with JavaScript. ExternalInterface will not work in a local environment unless you change your Flash Player security settings.