Skip to main content
Participant
July 14, 2013
Question

Captivate 7 exit button does not work when published to LMS

  • July 14, 2013
  • 9 replies
  • 12695 views

I recently published a course using Captivate 7 and uploaded it to our LMS.  During the review of the course it was noticed that the Close or Exit button on the controller did not work in IE.  However, it did work in Chrome.

I have looked through this forum and found that there were similar issue with older versions of Captivate.  However, we have course published with Captivate 6 on our LMS in which the Close or Exit button does work.

Does anybody have a solution for this problem?  Do we know if there is an update scheduled to fix this problem?

Please let me know

Dawn

This topic has been closed for replies.

9 replies

Participant
September 16, 2014

Adobe Captivate uses RUSTICI's SCORM Driver to do most of its communicating with an LMS.  I have found in digging through their code though that they are not using the SCORM Driver's exiting function "SCORM2004_Finish()".  In other programs that I have created, I have even found the "SCORM2004_Finish()" to be a little shady.  I created the below code below and have had no issues on exiting from both a pop up window or an Iframe.

//--THIS IS A FUNCTION THAT I CREATED MYSELF TO EXIT FROM BOTH A POP UP AND AN IFRAME--//

function MyExit()

{

  var SD = window.parent;

if (blnReachedEnd == false && confirm("Would you like to save your progress to resume later?")){

SCORM2004_CallSetValue("cmi.exit", "suspend");

SCORM2004_CallSetValue("adl.nav.request", "suspendAll");

  }

  else{

SCORM2004_CallSetValue("cmi.exit", "");

SCORM2004_CallSetValue("adl.nav.request", "exitAll");

  }

Unload(true);

}

If you notice the SCORM driver addresses two LMS values "cmi.exit" and "adl.nav.request".

The "cmi.exit" determines whether or not the user will return to where they left off.

The "adl.nav.request" is the key value to set when wanting to exit from a course back to an LMS.

If you notice, Adobe captivate does not address either.  This is because they are not using the SCORM Driver call, which is located in the "scormdriver.js" file that is published with every captivate project.

Hope this helps.

Participant
September 22, 2014

GarrettBerry,

thanks for the digits on the function.  Please specify where (what folder) I need to place your script?

thanks

Harleygrits

Participant
September 22, 2014

1.  Create a button in Captivate and assign a javascript call to "MyExit()"

2.  Create a .js file called CourseExit.js.

3.  Place the following code into that file.

//----------------------------------------------------------------------------------------------------------------------------------//

function MyExit()

{

  var SD = window.parent;

if (blnReachedEnd == false && confirm("Would you like to save your progress to resume later?")){

SCORM2004_CallSetValue("cmi.exit", "suspend");

SCORM2004_CallSetValue("adl.nav.request", "suspendAll");

  }

  else{

SCORM2004_CallSetValue("cmi.exit", "");

SCORM2004_CallSetValue("adl.nav.request", "exitAll");

  }

Unload(true);

}

//----------------------------------------------------------------------------------------------------------------------------------//

4.  Place the CourseExit.js into the "assets/js/" in the published folder

5.  Add "<script language="JavaScript1.2" src="assets/js/CourseExit.js"></script>" to the html file that was output on the publish.

I was able to set this up on the set up files on the local hard disk but so all I had to do was create a button and add the "MyExit()" code to the button, but when the next update came out it reset the hard disk files.  So, I have just resorted to updating the output file as seen above.

Hope this helps.

Garrett

Participant
July 18, 2014

I am having the same issue with the Exit button in Captivate 7 trying to run the files direct from an html server (no LMS).

I just took one of the courses with the Exit and republished using Captivate 8 and the problem is fixed.

Inspiring
June 17, 2014

I've used multiple LMS systems and they all seem to have a different way of exiting a Captivate created training since version 7 was introduced. Attribute it to the introduction of the function DoCPExit() in the Utilities.js file. Other calls I've used in the Utilities.js file to get the exit to work correctly are:

-------------------------------------

function DoCPExit()

{

     var win=window.open("","_top","","true");

     win.opener = true; 

     win.close();

}

-------------------------------------

function DoCPExit()

{

    if(window != window.parent && window.parent && window.parent.hasOwnProperty("DoCPExit"))

    {

        window.parent.DoCPExit();

    }

    else

    {

        top.window.close();

    }

}

function DoCPExit(){

   Terminate();

}

-------------------------------------

function DoCPExit()

{

    if(SCORM2004_objAPI){SCORM2004_CallTerminate();}

    if(SCORM_objAPI){SCORM_CallLMSFinish();}

    if(window != window.parent && window.parent && window.parent.hasOwnProperty("DoCPExit"))

    {

        window.parent.DoCPExit();

    }

    else

    {

        window.close();

    }

}

Inspiring
June 19, 2014

Found out yesterday that the system I'm using doesn't look at all the files created in a Captivate zip file, so it wasn't loading anything in one of the necessary files for SCORM. Check out my post here, Important file modification for Cornerstone users, and it will explain what you need to add to your main html file in order to call the correct file in your LMS and that should correct the exit problem.

Participant
October 30, 2013

Captivate 7 now has a pre-built 'exit' function so that you don't have to add any custom script, meaning that you don't have to worry about browser compatibility.

After selecting your actionable object (button), in the 'Action' section, under the "On Success" drop-down, select exit. It's that simple.

Erik Lord
Inspiring
June 13, 2014

I don't think this will address the overall issue though. The problem most folks seem to have is when their CP lesson is launched within a frameset within a new window (though that may not be obvious to the user)...

CP's Exit function doesn't account for that. Jevon's fix allows it to find the proper 'hierarchy' to properly close the window.

So unless Adobe changed the actual JS function behind the Exit option they provide, it's the same issue.. Just selecting a different Exit option likely is not a fix.

TLCMediaDesign
Inspiring
June 13, 2014

I agree, you are also relying on the the LMS to catch the window being closed and make all of the appropriate calls to save your data.

If the course is 2004 this could definitely be an issue. I think it's better to call a SCORM Finish function.

Known Participant
October 16, 2013

Just a comment that we've had the same issue when importing CP6 files into CP7 - the Exit button doesn't work in one of our LMSs.  Thanks, Jevon, for the fix above - that works, though it's a pain when you have lots of little files.

Erik Lord
Inspiring
September 25, 2013
September 11, 2013

Just in case anyone ever comes back to this or still needs a solution, here's what I did for this problem in Captivate 7. I'm publishing as SWF, fyi.

Once you publish, there's a file in the root of your lesson called "Utilities.js". Open this file in a text editor. Near the bottom, look for "function doCPEXit()".  Within that function, change "window.close()" to "window.parent.close()", so the final result looks like this:

function DoCPExit()

{

    if(window != window.parent && window.parent && window.parent.hasOwnProperty("DoCPExit"))

    {

        window.parent.DoCPExit();

    }

    else

    {

        window.parent.close();

    }

}

Then, rezip your SCO and give it a try in your LMS.

Inspiring
June 12, 2014

Thank you so much!  Worked perfectly.  I was scouring the internet for a solution to this problem, and every time I thought I found some JavaScript based fix it failed.  I was battling with my LMS settings as well and was getting nowhere.  I used window.close(), frame.close(), and some other functions I can't remember, as well as trying all window URL options (top, parent, new) for my close button...  Never thought to reference the parent window in the function!  It's times like these that I wish I was better at JavaScript

Anyway, thanks again... you're a lifesaver!

Jayson

Known Participant
July 30, 2013

Hi,

I was having this issue in IE8 also. After turning off and on different options I realised that it was publishing it as HTML5 that caused the buttons not to function.

I unchecked HTML5 in the Publish settings and now the Close and Exit buttons work.

Veronica

Participant
July 30, 2013

I am very interested in this Captivate 7 issue and would like to know when it will be fixed.  I am not able to uncheck the HTML5 publish setting (need for mobile) nor force all user to view in Chrome.

Thanks for any information anyone has.

Lesley

Known Participant
July 31, 2013

Lesley: The Exit button and close buttons have worked for me if it is published ONLY as HTML5 (uncheck SWF).

I am occasionally getting crashes though on our LMS (Blackboard) when I try to access it on iPad mini.

Best,

Veronica

July 23, 2013

Hello, I was searching on this question, and have the same issue:

Captivate 7

Publish for LMS (SumTotal)

HTML 5/SWF enabled

PDF enabled

The audio and video play perfectly, and I have it setup to exit when finished.

If the users exit manually, then it registers with the LMS, if not, then the status shows "incomplete." According to my client, they contacted their LMS Vendor (SumTotal) and they said that there is a bug in Captivate 7, and Adobe are aware of it.

Any additional info is appreciated!

Thanks,

Sharon

devaccAuthor
Participant
July 23, 2013

Thank you for your post.  I am glad to know I am not the only person who has this problem.  I have been in touch with Adobe, however we have been playing e-mail and phone tag for the past week.  The last I heard from them was that it was in issue with our LMS.  However, I published it to scormcloud.com as a test during their investigation and found I had the same issue there.

What I have found is that it only happens when the course is published in AICC.  We have a subcontractor who uses our e-learning on their LMS and needs the courses published in SCORM 1.2.  When I published to SCORM the exit button on the controller works.

Thanks for letting me know what SumTotal said about the Captivate 7 bug.  At this point it is obviously a bug, so hopefully they will get it resolved soon.

July 23, 2013

I forgot to mention that I published for SCORM-2004 compatibility. I was so excited to get Captivate 7, as I have run into issues with much earlier versions of Captivate and LMS publishing. I really hope you can get a response and/or a solution!

Thanks - it is comforting to know that someone else is experiencing issues as well.