Fix for the Adobe Captivate 6 JavaScript bug!

21

Adobe has supplied me with a patch for fixing the JavaScript bug in Adobe Captivate 6.

I just tested the patch and it works as it should. Using the patch will allow you to publish courses to your LMS and still be able to execute JavaScript from within Adobe Captivate.

Update 14MAY13: Adobe has now made the patch publicly available here: http://helpx.adobe.com/captivate/kb/hot-fix-captivate-courses-dont.html.

The patch now also works for Adobe Captivate 6.1 for subscription and ASA customers.

Applying the patch:

  1. Make sure your version of Adobe Captivate is updated to 6.0.1.240 (go to Help – About Adobe Captivate to view version number)
  2. If you are not on version 6.0.1.240 then update by going to Help – Updates in Captivate and close Adobe Captivate afterwards.
  3. Download the fix from the above mentioned location and unzip it to your desktop.
  4. Go to the directory where you installed Adobe Captivate 6.
  5. Navigate to “\sdk\libs\cplibs\”
  6. In here you will see two directories. One called 9.0 and one called 10.0.
  7. Open up each directory and find the “MainMovie.swc” and rename it to something like “MainMovie.swc(original)”
  8. In the folder you unzipped with the fix you will find the same two folders each containing a “MainMovie.swc” file. Copy these files to your Captivate installation directory.
  9. Open up Adobe Captivate and republish the project.

This will fix the JavaScript bug and allow you to publish courses to your LMS and have users of Internet Explorer view them properly.

Please use the buttons below to share this information with your network so you can help them avoid problems with this bug in their projects.

 

 

Share.

21 Comments

  1. Pingback: Display the Student's Name From Your LMS Using Adobe Captivate 6.x | CaptivateDev.comCaptivateDev.com

  2. Any chance you can provide me this patch.
    I have had several calls and emails to adobe and am getting no luck.
    Even have referenced your site to say at some stage in recent time there was a fix.

    Any help would be greatly appreciated.

    Thanks,
    Andy

    • Hi Andy,

      Adobe specifically asked me to remove the patch and not distribute it to anyone as they wanted control over it themselves. However it is a bit counterproductive if Adobe doesn’t actually respond to user requests.

      I’ll send you an email in a second with some additional information.

      /Michael

  3. Hi Michael,

    Have you heard from anyone that has used the patch and the problem has not been resolved? That is the case for myself and my colleague at the moment. We are having issues with a SCORM 2.1 module that is quitting part way through, we got the patch from adobe and installed but no luck.

    Regards,

    Eliza.

    • Hi Eliza,

      No I haven’t heard anything about that unfortunately. The patch worked well on the computers I have used it on and also for several of my clients.

      Which version of Captivate are you using?

      /Michael

      • We tried the fix, but it only worked for publishing at Flash 10 or higher. Most of our clients are on 9, so we must publish to that. We would get a slightly different error with the swf could not compile.
        Since we were just using it to branch out and open another project, I removed the patch and used a URL/File location setting to call the htm file instead. So, we probably won’t be using JS in our projects any longer.
        Lance.

        • Hi Lance,
          Now that was interesting information.. I don’t think that Adobe is aware of this limitation. I’ll try and get in touch with them and see if they have a fix that will work with Flash Player 9 as well.
          Thanks for letting me know!

    • Giridharan Dhanashaker on

      Hi Eliza,

      Make sure to ‘Uncheck’ the ‘Advanced Project Compression’ in ‘SWF Size and Quality’ section in ‘Preferences’.

      Also make sure to select ‘2nd Edition’ of SCROM.

      This can be found in Preferences -> Quiz -> Reporting -> Configure -> SCROM Version ->2nd Edition

      This may solve your problem.

  4. I need the fix for the bug in Captivate 6. When i publish a SCORM compatible course and publish it, the communication between the course and the LMS breaks.

    I have emailed Adobe, but they haven’t answered.

    Thanks in advance

    • Hi Javier,

      Unfortunately Adobe would not let me distribute the patch through my site even though this would have been much easier. I don’t really understand the reasoning behind this as it would be in Adobe’s own interest to fix a critical bug in Adobe Captivate that has existed since the release of Captivate 6.

      If Adobe doesn’t answer you just have to keep sending them emails until they send you the patch.

      /Michael

  5. HI, do you know if this will fix an issue on Moodle v1.9 where the course ‘hangs’ on load and displays a grey screen for up to 2 mins before the preloader even displays?

    • Hi Matt,
      This particular bug only occurs when publishing content to an LMS with SCORM 1.2, as it causes a premature call to the LMSFinish() function and thereby terminates all communication between the course and the LMS.
      If you execute JavaScript in a Captivate 6 course that is not published to SCORM you shouldn’t experience any problems with it.

      • Matt Sandberg on

        At its core, I dont think this issue is specific only to Captivate files that are published as SCORM content. I have attached a method to the beforeunload event on the browser window, and its getting called anytime JS is executing in C6 (only occurs in IE). When you execute any JavaScript in C6, it is triggering the onbeforeunload event (again, in IE only). This is where many LMS’s place the LMSFinish() not many other sites use this event, which is why it seems to only be an issue with LMSs.

        It seems that the fix provided by Adobe only fixes files published with SCORM content.

        I also found this post in my searching: http://solidlystated.com/scripting/actionscript-geturl-fires-onbeforeunload-event/

        • Interesting.. especially the part about getURL that you link to.
          I’ll take this to the Adobe Engineers and see what they have to say about it.
          Thanks for letting me know Matt.

        • Matt,

          I just created a test project using your description in my patched version of Captivate and I’m not seeing the problem.
          Did you try applying the patch to your installation of Captivate? Looks like it fixes this problem as well – at least I am not able to recreate it.

          • Matt Sandberg on

            Just following up to close the loop. This patch does fix Captivate’s SCORM Compatible content, as well as non SCORM content. The patch worked for our non SCORM content, but only when the “window” chosen was “current” in the Advanced Actions menu. If the window was “top” we were still seeing the onBeforeUnload and onUnload events firing. (we are supporting an older application that uses framesets).

            This is probably still a bug, but in my opinion, good coding standard would probably say to have captivate call the current window, then have the JS in the current html doc call whichever frame is needed (top, parent, etc), rather than Captivate calling JS all over the frameset.

            Michael, I’d also like to thank you for your posts on the site. It has been enlightening and saved many many hours of investigation and resolution on my project! Many Thanks!!

          • Ok good to hear. I’ll let the Adobe Captivate engineers know about the “top”, “parent” issue so hopefully this bug can be eliminated in upcoming versions of Captivate.

            And you are most welcome Matt – I spent countless hours on debugging this myself when I faced the problem so if my post saved some time and energy for someone else that’s just great.

  6. Daniela Sardo on

    What about the other file contained in each folder, cpTOC.swc? Does this not need to be brought over in to the Captivate directory as well? Otherwise why is it part of the fix?

Leave A Reply