Skip to main content
July 24, 2012
Question

Creating "Back" Navigation in a Branching Project Without the Playbar or a TOC?

  • July 24, 2012
  • 1 reply
  • 580 views

Hello,

I've been struggling with accomplishing a very simple goal: in my Captivate project, I want there to be a "Back" button on every single slide that sends the user back one slide based on their navigation history throughout the slide.  The playbar must be disabled, and I don't want the user to have to deal with a Table of Contents.

Because this is a somewhat complex branching project, using the "go to previous slide" selection for a button will not work -- this simply sends the user one slide back in the filmstrip, and that might not be where I want them to go.

Using the "go to last slide viewed" selection for a button also will not work.  This creates an infinite loop in which once the user clicks the "Back" button on one slide, they will go to the previously viewed slide, but when they click it again, they will return to the original slide.  For example, repeatedly clicking this Back button will send the user from slide 2 to slide 1, then slide 1 to slide 2, then slide 2 to slide 1....etc.

Basically, all I want is an internet browser-style back button within my project.  I figure this is a fairly common thing that project creators want to do, so I checked for any available widgets that might offer the desired functionality, but I've come up with nothing.

It would seem as if my only hope lies in two potential places: either the execute Javascript selection for buttons, or Advanced Actions.

Before I dig too deeply there, I was wondering if anyone had a simple solution for this very basic problem.  I've looked around the forums, and this particular thread looks very relevant: http://forums.adobe.com/message/4575291#4575291 .  In that thread, it looks like the original poster just decided to create a separate swf for each of the linear branches of their project.  For my project, this would be a most inelegant and clutttered solution.

Anyone have any ideas?  If I must use Advanced Actions / variable creation, could you point me in the right direction?  I'm on Captivate 5, by the way.  Thanks.

This topic has been closed for replies.

1 reply

Lilybiri
Legend
July 24, 2012

How many slides would you need to keep in memory? I think you'll need as many user variables.

Lilybiri

RodWard
Community Expert
Community Expert
July 25, 2012

Indeed this issue has come up several times over the years, because some authors would like Captivate content to work in much the same way that other web-based content playing in a browser does.  When users see content in a browser, they expect there will be a Back button that takes them to the last-visited slide. If they just keep clicking that Back button, they expect it will retrace their path through the content.

What happens under the hood in the browser is that it stores all the URLs that the user visited in an array of sequential values, which allows the browser to retrace the user's path.

Captivate currently has no built-in array facility available to authors for this purpose.  Captivate variables can only store one value.  Advanced Actions are not powerful or flexible enough to build the kind of programmatic loops that would allow you to traverse a series of variables to try and duplicate typical Back button functionality.

It might be possible to do all of this using some fancy JavaScript coding, but you (or someone that owes you a favour) would need decent coding skills to pull it off.

I think it would be great to log an enhancement request with Adobe for a couple of Advanced Actions to be added for this need.  Perhaps we could call them Go Back History -1 and Go Forward History +1.  These would just reference an internal array somewhere in the bowels of Cp where the History is kept.  Then all authors would need to do is choose this as a button action or an action in a conditional advanced action of some kind.