我正在通过Captivate课程创建自定义证书,该课程将在Captivate Prime中运行。我们编写了从Captivate Prime获取API的代码,它们似乎在Chrome,Firefox和Edge中填充,但在IE 7-10中却没有。作为一个单独的问题,将证书作为PDF的生成是通过代码完成的,并且该代码通过按钮激活。当学习者使用Captivate Prime重返课程后,该按钮将不再起作用。
设置:学习者参加10个问题测试。如果通过,则证书“课程”将打开,并在显示时将其从API中提取信息并填写常规信息;名称,地址,课程名称,竞赛等。学习者可以单击页面上的一个按钮,该按钮将创建PDF并下载所有包含已从API中提取的信息的PDF。在Internet Explorer中,Captivate Prime中的页面不会填写API信息,但可以在Chrome,Firefox和Edge中使用。如果您返回课程并返回到该内容(证书创建),则信息会再次加载到视觉上,但是该按钮将无法生成PDF。
我正在附加代码,但是如果我没有对此进行足够详细的描述或您有任何疑问,请随时提出。
这是PDF创作。
function createCert() {
// This is the function that will generate a PDF from an image and text
fields.
var imgBackground = new Image();
imgBackground.src = "DHA-Test-Cert.png";
imgBackground.onload = function () {
var doc = new jsPDF({
orientation: 'landscape',
unit: 'in',
format: [11, 8.5]
});
doc.addImage(imgBackground, 0, 0, 11, 8.5);
var userName = window.cpAPIInterface.getVariableValue("v_UserName");
var fileName = "DHACertPDF.pdf";
var courseTitle =
window.cpAPIInterface.getVariableValue("v_CourseTitle");
var dateCompleted =
window.cpAPIInterface.getVariableValue("v_CompletionDate");
var userAddress1 = window.cpAPIInterface.getVariableValue("v_Address1");
var userAddress2 = window.cpAPIInterface.getVariableValue("v_Address2");
var userCityStateZip =
window.cpAPIInterface.getVariableValue("v_CityStateZip");
doc.setFontSize(12);
doc.setTextColor(0, 0, 0);
doc.setFont("helvetica");
doc.setFontType("bold");
doc.text(4.6, 6.6, userName, null, null, 'left');
doc.text(4.6, 7.2, courseTitle, null, null, 'left');
doc.setFontType("normal");
doc.text(.41, 2.8, dateCompleted, null, null, 'left');
doc.text(.41, 3.0, courseTitle, null, null, 'left');
doc.text(.41, 5.6, userName, null, null, 'left');
doc.text(.41, 5.8, userAddress1, null, null, 'left');
doc.text(.41, 6.0, userAddress2, null, null, 'left');
doc.text(.41, 6.2, userCityStateZip, null, null, 'left');
doc.save(fileName);
};
}// JavaScript Document