
CpExtra
Pages about the CpExtra HTML5 plugin for Adobe Captivate.
JavaScript: Basics
5 Hour Video Training Course
"Help! I need to write JavaScript!"
Stand easy! You are in the right place.
JavaScript is the programming world’s lingua franca (common language). Knowing a little JavaScript is like knowing a little English; it’s useful no matter where you are or what you’re doing. What’s more, JavaScript is one of the easiest languages to learn. JavaScript is nothing to be afraid of.
This course will teach you everything you need to know to start writing your own simple JavaScript programs.
Lesson by lesson we will introduce you to new programming concepts such as…
- Math
- Variables and constants
- Functions
- Objects
- If statements
- While and for loops
- Arrays
…and we’ll learn it all while building a game!
A heads or tails coin flip game.
Watch the Introduction
"But I'm not a programmer!"
We hear you.
Not everyone finds programing concepts intuitive. It looks difficult; it sounds difficult; and if you’ve watched so called ‘basic’ programming courses before, it may feel difficult too.
However, we have been very conscious to prepare this course in such a way that is considerate to new-comers. Our target audience is non-programmers.
"What about Captivate?"
This is not a course about JavaScript in Captivate, and that’s good. If this is your first encounter with JavaScript then a Captivate + JavaScript course would be somewhat overwhelming. Think of this course as preparation for that JavaScript + Captivate course.
That said, we’re not totally leaving Captivate behind. In the final lesson of the course we take the game we’ve already built and make simple adjustments so we can import it into a Captivate slide.
Your Teacher

Tristan has more than 10 years of experience in the E-learning and programming fields. He is the developer of the CpExtra and CpMate Captivate extensions. Outside of Adobe you would find it hard to find anyone who knows more about JavaScript and Captivate. Despite that, Tristan considers himself a teacher first, and programmer second. He is passionate about finding simple ways to explain unfamiliar concepts.
Buy
JavaScript: Basics
Buy now! $ 88
75 USD
- 5 hour course
- Learn all the basic JavaScript concepts
- Build a game and import it into Captivate
CpExtra - Loading JavaScript Files into Captivate
CpMate JavaScript Loading Into Captivate
CpExtra 1.5 New Features
CpExtra
The Captivate Multi-tool
CpExtra is the Captivate extension designed by Captivate users for Captivate users. With features born out of real life use cases and every day Captivate pain points, this is the tool you need in your Captivate arsenal.

Not Compatible with Captivate 12 and above
Compatible with Captivate 2019 (Also called Captivate Classic). To learn more about why Captivate 12 is not supported, please watch the video below.
What is it?
CpExtra is the most powerful Captivate Extension ever created. It enhances Captivate’s HTML5 export with a long list of new features which work seamlessly with Advanced Actions. It is delivered as a javascript file which you load into your Captivate Program files. Once loaded, CpExtra will be automatically included in all your projects!
Whether you’re looking to push the envelope of what Captivate can do, trying to make your ‘rapid development’ a little more ‘rapid’, or just trying to fix little quirks in the way Captivate behaves, CpExtra is the tool for you!
It's Extra Powerful
Share information between modules
Want to know which course modules the learner has already viewed? Want to know if they passed the quiz in module three? CpExtra allows you to create local storage variables which share their values between modules, allowing you to do all this and more.
Event listeners
Want to run actions when you roll over, roll out, mouse down, mouse up, double click or right click on anything? How about when an object enters or exits the timeline? Or what about when a video or audio clip ends? All this is possible, thanks to CpExtra's event listeners.
Run an advanced action from another advanced action
Confused at why Captivate doesn't allow you to call an Advanced Action from another Advanced Action? So are we! So we built CpExtra's xcmndCallActionOn command variable to let you do it anyway! Stop duplicating code. Start saving time.
Partial scoring
Not everything is black and white. Was the learner's answer only half correct? Give them half the score. Use xcmndScore to change what scores buttons, text entry boxes and another report to the quiz, be that a score that's negative over 100%.
Run JavaScript files in Captivate
JavaScript is everywhere! Except, it seems, in Captivate. Cast off the shackles of Captivate's JavaScript dialog! With CpExtra's xcmndLoadJSFromAction command variable you can import JS files into Captivate and run them. Works for your own personal JavaScript files as well as third party JavaScript libraries.
It's Extra Quick
Run actions over queries
Are the three shapes you want to hide called: SmartShape_1, SmartShape_2 and SmartShape_3? No need to create an advanced action to hide all three. Hide them with the @syntax query: SmartShape_@. This @syntax works with hiding/showing, enabling/disabling, adding/removing event listeners and more!
Smart states
Are most of your Advanced Actions awkwardly trying to show the right state at the right time? Smart States allow you to give a state a special name so it will show itself when you want it to.
It's Extra Convenient
Run an action at the start of the movie
Don't know which slide the learner will start on because of LMS tracking or self-paced learning? Use xprefInitAction to define an action that will ALWAYS run at the start of the movie, no matter where it starts.
Work with numbers
Did you divide 7 by 3 and get 2.333333333? Round that number with xcmndRound. Need a random number to add some variety to your course? Use xcmndRandom.
It's Extra Neat
Prevent playbar scrubbing
Don't want the learner scrubbing through your course, skipping over content and messing up your carefully planned interactions? With xprefDisablePlaybarScrubbing you shall no longer fear the bar.
Mark slides complete
Does your branching scenario mean the course fails to report 100% completion? Use xcmndCompleteSlide to mark a slide complete even if it was never visited.
Embed custom fonts
Is your fancy handwritten font not appearing on mobile devices? CpExtra's xcmndEmbedFontFromAction command variable allows you to include as many non-web safe fonts in your project as you want! Just don't go overboard, okay?
Some Extra Help
Comprehensive documentation
We don't believe in undocumented software. CpExtra has it's own dedicated help site with an exhaustive set-up guide and complete information on each and every feature.
Video courses
We're eLearning developers. We learn visually. Get yourself off to a quick start with our official CpExtra video courses, delivered by the head developer himself!
See It In Action
Watch examples from our Youtube channel
Don't just take our word for it...

Play Video
…[CpExtra] has allowed me to do things I just couldn’t do before … It is phenomenal. I really enjoy it and I highly recommend getting this plug-in.
Michael Stephens
Monkey logic - Head Monkey
…By using CpExtra and the [xcmndCallActionOn] action, we can create a very light-weight Shared Action that defines parameters that assign to a variable. This variable is then passed on to another Advanced Action via CpExtra. This second Advanced Action remains editable and allows us to make changes as and when we need to.
Andy Karl
Translating Tech

Play Video

“What do I like about CpExtra? Is it the easy way to overcome some Captivate limitations like preventing the progress bar scrubbing, changing the rollover color on Question slides, and controlling the behavior of Text Entry Boxes. Although I like those tweaking options a lot, I am using CpExtra mostly to create events wherever I need them, to call advanced actions from an advanced action and to exchange variables between modules without having to dive into JavaScript. This is the most amazing widget in my Captivate tool set!”
Lieve Weymeis
Adobe Captivate Forum MVP
Buy
CpExtra
Single User License $ 84
USD
- All the features!
- Dozens of command variables
- Slash development time with @syntax
Buy with training
CpExtra + Quick Start Course
Recommended for all $106
$ 96 USD
- Software + training in one package
- Taught by the head developer
- Learn the top 5 features in 1 hour
Bundle
CpExtra + Up and Running Course
For the power user $172
$ 138 20 USD
- Video training of all CpExtra's launch features
- Quick Start course thrown in for free!
- 5 Hours of training
Bundle
Multi-User Licenses
10% Off
20% Off
30% Off
CpExtra
The Captivate Multi-tool
CpExtra is the Captivate extension designed by Captivate users for Captivate users. With features born out of real life use cases and every day Captivate pain points, this is the tool you need in your Captivate arsenal.

What is it?
CpExtra is the most powerful Captivate Extension ever created. It enhances Captivate’s HTML5 export with a long list of new features which work seamlessly with Advanced Actions. It is delivered as a javascript file which you load into your Captivate Program files. Once loaded, CpExtra will be automatically included in all your projects!
Whether you’re looking to push the envelope of what Captivate can do, trying to make your ‘rapid development’ a little more ‘rapid’, or just trying to fix little quirks in the way Captivate behaves, CpExtra is the tool for you!
It's Extra Powerful
Share Information Between Modules
Want to know which course modules the learner has already viewed? Want to know if they passed the quiz in module three? CpExtra allows you to create local storage variables which share their values between modules, allowing you to do all this and more.
Event Listeners
Want to run actions when you roll over, roll out, mouse down, mouse up, double click or right click on anything? How about when an object enters or exits the timeline? Or what about when a video or audio clip ends? All this is possible, thanks to CpExtra's event listeners.
Run an Advanced Action From another Advanced Action
Confused at why Captivate doesn't allow you to call an Advanced Action from another Advanced Action? So are we! So we built CpExtra's xcmndCallActionOn command variable to let you do it anyway! Stop duplicating code. Start saving time.
Partial Scoring
Not everything is black and white. Was the learner's answer only half correct? Give them half the score. Use xcmndScore to change what scores buttons, text entry boxes and another report to the quiz, be that a score that's negative over 100%.
It's Extra Quick
Run Actions over queries
Are the three shapes you want to hide called: SmartShape_1, SmartShape_2 and SmartShape_3? No need to create an advanced action to hide all three. Hide them with the @syntax query: SmartShape_@. This @syntax works with hiding/showing, enabling/disabling, adding/removing event listeners and more!
Smart States
Are most of your Advanced Actions awkwardly trying to show the right state at the right time? Smart States allow you to give a state a special name so it will show itself when you want it to.
It's Extra Convenient
Run an Action At the Start of the Movie
Don't know which slide the learner will start on because of LMS tracking or self-paced learning? Use xprefInitAction to define an action that will ALWAYS run at the start of the movie, no matter where it starts.
Work with Numbers
Did you divide 7 by 3 and get 2.333333333? Round that number with xcmndRound. Need a random number to add some variety to your course? Use xcmndRandom.
It's Extra Neat
Prevent Playbar Scrubbing
Don't want the learner scrubbing through your course, skipping over content and messing up your carefully planned interactions? With xprefDisablePlaybarScrubbing you shall no longer fear the bar.
Mark Slides Complete
Does your branching scenario mean the course fails to report 100% completion? Use xcmndCompleteSlide to mark a slide complete even if it was never visited.
Some Extra Help
Comprehensive Documentation
We don't believe in undocumented software. CpExtra has it's own dedicated help site with an exhaustive set-up guide and complete information on each and every feature.
Video Courses
We're eLearning developers. We learn visually. Get yourself off to a quick start with our official CpExtra video courses, delivered by the head developer himself!
See It In Action
Watch examples from our Youtube channel
Don't just take our word for it...

Play Video
…[CpExtra] has allowed me to do things I just couldn’t do before … It is phenomenal. I really enjoy it and I highly recommend getting this plug-in.
Michael Stephens
Monkey logic - Head Monkey
…By using CpExtra and the [xcmndCallActionOn] action, we can create a very light-weight Shared Action that defines parameters that assign to a variable. This variable is then passed on to another Advanced Action via CpExtra. This second Advanced Action remains editable and allows us to make changes as and when we need to.
Andy Karl
Translating Tech

Play Video

“What do I like about CpExtra? Is it the easy way to overcome some Captivate limitations like preventing the progress bar scrubbing, changing the rollover color on Question slides, and controlling the behavior of Text Entry Boxes. Although I like those tweaking options a lot, I am using CpExtra mostly to create events wherever I need them, to call advanced actions from an advanced action and to exchange variables between modules without having to dive into JavaScript. This is the most amazing widget in my Captivate tool set!”
Lieve Weymeis
Adobe Captivate Forum MVP
Buy
CpExtra
Single User License $ 67
50 USD
- All the features!
- Dozens of command variables
- Slash development time with @syntax
Buy with training
CpExtra + Quick Start Course
Recommended for all $90.25
$ 84 50 USD
- Software + training in one package
- Taught by the head developer
- Learn the top 5 features in 1 hour
Bundle
CpExtra + Up and Running Course
For the power user $156.25
$ 126 50 USD
- Video training of all CpExtra's launch features
- Quick Start course thrown in for free!
- 5 Hours of training
Bundle
Multi-User Licenses
10% Off
20% Off
30% Off
Sorry, but you do not have permission to view this content.
Sorry, but you do not have permission to view this content.
Sorry, but you do not have permission to view this content.