For some reason, my content will not return to the LMS when I hit the 'Exit' button, is there anything I can look for in my code to help troubleshoot this?
SCORM 2004 and SCORM 1.2 handle this differently, here are some things to look for in each version.
SCORM 2004 - Look for an adl.nav.request of "suspendAll" or "exitAll" before the Terminate() function is invoked. If you do not have access to a debugger within your content to see runtime communication, you can use the SCORM Cloud's debugging feature. http://cloud.scorm.com
SCORM 1.2 - In 1.2, there really isn't a well-defined exit action.
The first thing I would look at is the exit type (cmi.exit). If cmi.exit is set to logout, then the course should exit...and potentially the entire LMS. But this behavior is obviously dangerous so it is rarely and inconsistently implemented.
The best content implementation of an "exit" button in 1.2 would call LMSFinish and then check to see if it is the top window and close itself. If it is not the top window, it should just call LMSFinish and then redirect to a blank/message/placeholder page. If you are using the SCORM Engine/SCORM Cloud, you have access to the Rudimentary Sequencing course properties. These properties control what action the SCORM player will take when a SCO exits. It mimics the simple sequencing built into SCORM 2004.
As always, if any other questions come up, please feel free to email us at firstname.lastname@example.org .