Publish template for Captivate – scale the output down but not up

You’re in a pickle with Captivate simulation sizes:

  • You want to have as much room as possible so the simulation is as similar to the real system as possible.
  • You don’t want the size to scale up – being pictures, it gets fuzzy and looks bad once it’s larger than 100%.
  • You don’t want the learner to get scrollbars if their screen is smaller – that too removes realism from the system.

This wee tweak to the Captivate publish wrapper below puts the Captivate div inside a table which centres the simulation at maximum size:100%. If the learners screen is smaller, it’ll shrink – but it won’t enlarge with larger monitors. It’s a bit rough and dirty (who uses tables anymore?!) but it works. I also removed the padding and scrollbars – you might like to edit your ‘standard.htm’ file in the Captivate publish template folder so they all publish they way you want them to.

<!-- Copyright [2008] Adobe Systems Incorporated.  All rights reserved -->
<!-- saved from url=(0013)about:internet -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title></title>
<script src="standard.js" type="text/javascript"></script>
<style>
body {
margin:0px;
overflow-x:hidden;
/* overflow-y:hidden;  */
height:100%;
width:100%;
}
html{
height:100%;
width:100%;
}

#CaptivateContent
{
width:100%;
max-width:1010px;
height:auto;
}
</style>

</head>
<link rel="stylesheet" type="text/css" href="captivate.css" />

 

<body   bgcolor="#f5f4f1">

<table width="100%" height="100%" cellpadding="0" cellspacing="0">
<tr>
<td height="100%" width="100%" valign="middle" align="center">
<div id="CaptivateContent" style="height:100%;">
</div>
<script type="text/javascript">
var strURLFull = window.document.location.toString();
var intTemp = strURLFull.indexOf("?");
var strURLParams = "";
if(intTemp != -1)
{
strURLParams = strURLFull.substring(intTemp + 1, strURLFull.length);
}
var so = new SWFObject("module.swf", "Captivate", "100%", "100%", "10", "#CCCCCC");
so.addParam("quality", "high");
so.addParam("name", "Captivate");
so.addParam("id", "Captivate");
so.addParam("wmode", "window");
so.addParam("bgcolor","#f5f4f1");
so.addParam("seamlesstabbing","false");
so.addParam("menu", "false");
so.addParam("AllowScriptAccess","always");
so.addVariable("variable1", "value1");
if(strURLParams != "")
{
so.addParam("flashvars",strURLParams);
}
so.setAttribute("redirectUrl", "http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash");
so.write("CaptivateContent");
</script>
<script type="text/javascript">
document.getElementById('Captivate').focus();
document.Captivate.focus();
</script>

</td></tr></table>
</body>
</html>
Tech Reference:

2 thoughts on “Publish template for Captivate – scale the output down but not up

Add yours

  1. Very interesting solution, although it does not work with version 9 (2019) of Captivate, the standard.htm exists and is very similar but it seems that it is not the original file from which the html5 or scorm is built.

    :- (

    1. Thanks for commenting John – yes this post is actually from 2012 or 13 I think, I haven’t used Captivate for a long time! I see this code references the .swf as well, so very old school now. You might be able to find something similar with how it publishes to HTML5, but I haven’t dabbled about with HTML canvas manually all that much so not sure how much success you’d get. Given Storyline scales happily in HTML5 there’s probably a way to wrap a div around the canvas for Captivate, if they still have the master template visible like this – but again I haven’t used Cp for many years. Best of luck!

Leave a Reply

Your email address will not be published. Required fields are marked *

Proudly powered by WordPress | Theme: Baskerville 2 by Anders Noren.

Up ↑