JavaScript-Schnittstelle für Adobe Captivate

Einführung

Mit Adobe Captivate können Sie leistungsstarke und teilnehmerfreundliche Inhalt mithilfe der neuen JavaScript-Benutzeroberfläche erstellen. Diese Funktion bietet eine gemeinsame Plattform für die Ausführung von JavaScript-Aktionen in Ihren Projekten und sorgt für leistungsfähigere Interaktivität. 

Jetzt können Sie kleinere JavaScript-Snippets schreiben, um auf unterschiedliche Variablen in den Inhalten zuzugreifen. Sie können verschiedene Ereignisse, die von den Inhalten generiert wurden, abonnieren. 

Sie können die JavaScript-APIs auf zwei Arten verwenden:

  • Führen Sie JavaScript-Aktionen im Projekt aus. 

  • Fügen Sie JavaScript-Code der veröffentlichten HTML zur Laufzeit hinzu.

Adobe Captivate unterstützt die folgenden Objekte:

  • cpAPIInterfac: Enthält Dienstprogrammfunktionen, die häufig zum Ausführen von JavaScript-Aktionen erforderlich sind.
  • cpAPIEventEmitter: Sie können verschiedene Ereignisse, die von den Inhalten generiert wurden, abonnieren oder das Abonnement stornieren.
  • cp: Enthält Dienstprogramme zum Auslösen von Aktionen auf Objektebene.

cpAPIInterface

cpAPIEventEmitter ist ein Objekt, das im Fensterbereich verfügbar ist. Um auf das Schnittstellenobjekt zuzugreifen, verwenden Sie window.cpAPIEventEmitter.

Die folgenden Methoden werden in Adobe Captivate unterstützt:

Methode Beschreibung Parameter Verwendung
getVariableValue Gibt den Wert der angegebenen Variable zurück. 
  window.cpAPIInterface. getVariableValue ("varOne");
setVariableValue 
Legt den Wert eines Variablennamens mit dem vorgegebenen Wert fest. variableName:String
window.cpAPIInterface.setVariableValue ("cpQuizInfoStudentID", "John");
Abspielen Spielt ein Projekt ab   window.cpAPIInterface. Abspielen();
pause Hält ein Projekt an   window.cpAPIInterface.pause();
next Zur nächsten Folie wechseln   window.cpAPIInterface.next();
previous Zur vorherigen Folie   window.cpAPIInterface.previous();
getDurationInSeconds Gibt die Gesamtdauer des Projekts in Sekunden zurück.
  window.cpAPIInterface.getDurationInSeconds();
getEventEmitter Gibt den Ziehpunkt an das cpAPIEventEmitter-Objekt zurück. 
  window.cpAPIInterface.getEventEmitter();
getCurrentSlideIndex Gibt den aktuellen Folienindex des Projekts zurück.   window.cpAPIInterface.getCurrentSlideIndex();

 

 

Veraltete Methoden

  • getCurrentFrame
  • GetDurationInFrames

Beispiel 1

In diesem Beispiel erstellen wir eine Variable mithilfe des Workflows zum Erstellen von Variablen. Dann verwenden wir die neue Variable, ändern ihren Wert und geben den neuen Wert als Warnmeldung aus.

Führen Sie die folgenden Schritte aus, um den Variablenwert festzulegen und abzurufen:

  1. Erstellen Sie im Bildschirm “Variablen“ eine Variable namens „myVar“ und weisen Sie der Variablen den Wert “NYC“ zu. 

  2. Fügen Sie in diesem Projekt eine Schaltfläche auf der Bühne hinzu und wählen Sie im rechten Bedienfeld Interaktionen

  3. Wählen Sie im Bereich Aktion die Option Mehr > JavaScript ausführen aus. Geben Sie folgenden Code ein:

    window.cpAPIInterface.setVariableValue("myVar","BLR");

    var getVar=window.cpAPIInterface.getVariableValue("myVar");

    alert(getVar);

    Das haben wir gemacht:

    • Zeile 1: Wir haben den Wert der Variablen „myVar“ in den neuen Wert „BLR“ geändert. Wir haben die setVariableValue-Methode verwendet, um den Wert zu ändern.

    • Zeile 2: Wir haben die Methode getVariableValue verwendet, um den neuen Wert abzurufen, den wir in der vorherigen Zeile festgelegt haben. Dann haben wir den Wert in einer neuen Variablen gespeichert, getVar.

    • Zeile 3: Der neue Wert wird in einem Meldungsfeld angezeigt. 

  4. Wählen Sie Fertig.

  5. Zeigen Sie das Projekt in der Vorschau an und wählen Sie die Schaltfläche. Das Meldungsfeld wird als Popup-Fenster angezeigt. 

Beispiel 2

In diesem Beispiel verwenden wir eine Systemvariable „Date.DateMMDYY“, um das aktuelle Datum zu drucken. Der Prozess bleibt wie im vorherigen Beispiel dokumentiert.

Geben Sie im JavaScript-Editor den folgenden Code ein:

dateVar=window.cpAPIInterface.getVariableValue("Date.DateMMDDYY");

alert(dateVar);

Wenn Sie das Projekt in der Vorschau anzeigen und die Schaltfläche auswählen, wird ein Meldungsfeld mit dem aktuellen Datum angezeigt.

cpAPIEventEmitter

cpAPIEventEmitter ist ein Objekt, das im Fensterbereich verfügbar ist. Um auf das Schnittstellenobjekt zuzugreifen, verwenden Sie window.cpAPIEventEmitter.

Folgende Methoden werden unterstützt:

Name Beschreibung Parameter Verwendung

EventListener hinzufügen
Fügt eine Ereignis-Listener-Funktion einem bestimmten Ereignis hinzu.
  • eventName : Einer der
    -Ereignisnamen, die auf dieser Seite aufgeführt sind.
  • eventListenerFunction :
    Eine beliebige JavaScript-Funktion.
  • variableName : 
    1. optional. 
    2. Einer der Captivate
      -Variablennamen, dessen Wertänderung angegeben werden muss.
    3. Darf nur mit dem
      CPAPI_
      VARIABLEVALUECHANGED
      -Ereignis verwendet werden.
  • Fenster.
    cpAPIEventEmitter.
    addEventListener("CPAPI_
    MOVIESTART
    ",
    function(){alert
    ("Movie Started");});
  • Fenster.
    cpAPIEventEmitter.
    addEventListener
    ("CPAPI_VARIABLE
    VALUECHANGED
    ",
    function(){alert("Variable
    Value Changed");},
    "cpQuizInfoStudentID");

EventListener entfernen
Entfernt die Ereignis-Listener-Funktion für ein bestimmtes Ereignis.
  • eventName :
    Einer der Ereignisnamen, die auf dieser Seite
    aufgeführt sind.
  • eventListenerFunction : Eine
    beliebige JavaScript-Funktion.
  • variableName : 
    • optional. 
    • Einer der Captivate
      -Variablennamen, dessen Wertänderung angegeben werden muss.
    • Darf nur mit dem CPAPI_
      VARIABLEVALUECHANGED
      -Ereignis verwendet werden.
  • Fenster.
    cpAPIEventEmitter.
    removeEventListener
    ("CPAPI_MOVIESTART",
    function()
    {alert("Movie Started");});
  • Fenster.
    cpAPIEventEmitter.
    removeEventListener
    ("CPAPI_VARIABLE
    VALUECHANGED
    ",
    function(){alert
    ("Variable Value Changed");},
    "cpQuizInfoStudentID");

Unterstützte Ereignisse

Liste von Ereignissen:

Name Beschreibung Ereignisdaten Enumerationen

CPAPI_SLIDEENTER

Informiert darüber, dass sich der Film auf einer neuen Folie befindet.

slideNumber=NUMBER;

frameNumber=NUMBER; (Veraltet)

 lcpversion=STRING; (Nicht unterstützt)

 

CPAPI_SLIDEEXIT

Informiert darüber, dass der Film eine Folie verlässt.

slideNumber=NUMBER;

frameNumber=NUMBER; (veraltet)

lcpversion=STRING; (nicht unterstützt)

percentageSlideSeen=
NUMBER; (Nicht unterstützt)

 
CPAPI_
STARTPLAYBARSCRUBBING
Informiert darüber, dass Benutzer(innen) im Film mithilfe der Wiedergabeleiste suchen. Nicht unterstützt  
CPAPI_
ENDPLAYBARSCRUBBING
Informiert darüber, dass Benutzer(innen) nicht mehr mithilfe der Wiedergabeleiste suchen. Nicht unterstützt  
CPAPI_INTERACTIVEITEM Informiert darüber, dass Benutzer(innen) eine Interaktion mit einem interaktiven Element ausgeführt haben. frameNumber=NUMBER; (veraltet)
includedInQuiz=BOOLEAN; (Nicht unterstützt)
issuccess=BOOLEAN; (Nicht unterstützt)
itemname=STRING;
objecttype=NUMBER;
questioneventdata=
[object Object]; (Nicht unterstützt)
slideNumber=NUMBER;
 
CPAPI_MOVIEPAUSE Informiert darüber, dass der Film angehalten wurde.    
CPAPI_MOVIERESUME Informiert darüber, dass der Film an der angehaltenen Stelle wieder fortgesetzt wurde.    
CPAPI_MOVIESTART Informiert darüber, dass der Film gestartet wurde.    
CPAPI_MOVIESTOP Informiert darüber, dass der Film gestoppt wurde. (Nicht unterstützt)
 
CPAPI_QUESTIONSKIP Informiert darüber, dass Benutzer(innen) eine Fragefolie übersprungen haben. correctAnswer=STRING;
infiniteAttempts=BOOLEAN;
interactionID=NUMBER; 
objectiveID=STRING; (Nicht unterstützt)
questionAnswered=BOOLEAN;
questionAnsweredCorrectly
=BOOLEAN;
questionAttempts=NUMBER;
questionMaxAttempts=NUMBER;
questionMaxScore=NUMBER;
questionNumber=NUMBER;
questionScore=NUMBER;
questionScoringType=
[object Object],{Name:STRING}; (Nicht unterstützt)
questionType=STRING;
quizName=STRING; (Nicht unterstützt)
reportAnswers=BOOLEAN; 
selectedAnswer=STRING;
slideNumber=NUMBER;

interactionType – (Nicht unterstützt)

  • choice
  • true-false
  • fill-in
  • long-fill-in
  • Hotspot
  • Reihenfolge
  • Zuordnung
  • Likert

questionType -

  • choice
  • true-false
  • fill-in
  • long-fill-in
  • hot-spot
  • Reihenfolge
  • Zuordnung
  • Likert

questionScoringType
["Name"]
 - NICHT UNTERSTÜTZT

  • PretestQuestion
  • GradedQuestion
  • SurveyQuestion

Unterstützte Ereignisse:

  • correctAnswer
  • infiniteAttempts
  • interactionID
  • questionAnswered
  • questionAnsweredCorrectly
  • questionAttempts
  • questionMaxAttempts
  • questionMaxScore
  • questionNumber
  • questionScore
  • QuestionType (choice, true-false, long-fill-in, sequencing, matching)
  • reportAnswers
  • selectedAnswer
  • slideNumber
CPAPI_QUESTIONSUBMIT Informiert darüber, dass der Film eine Fragefolie beantwortet hat. correctAnswer=STRING;
infiniteAttempts=BOOLEAN;
interactionID=NUMBER; (Nicht unterstützt)
objectiveID=STRING; (Nicht unterstützt)
questionAnswered=BOOLEAN;
questionAnsweredCorrectly=
BOOLEAN;
questionAttempts=NUMBER;
questionMaxAttempts=NUMBER;
questionMaxScore=NUMBER;
questionNumber=NUMBER;
questionScore=NUMBER;
questionScoringType=[object Object],{Name:STRING}; (Nicht unterstützt)
questionType=STRING;
quizName=STRING; (Nicht unterstützt)
reportAnswers=BOOLEAN; 
selectedAnswer=STRING; 
slideNumber=NUMBER;

Unterstützte Ereignisse:

  • correctAnswer
  • infiniteAttempts
  • interactionID
  • questionAnswered
  • questionAnsweredCorrectly
  • questionAttempts
  • questionMaxAttempts
  • questionMaxScore
  • questionNumber
  • questionScore
  • QuestionType (choice, true-false, long-fill-in, sequencing, matching)
  • reportAnswers
  • selectedAnswer
  • slideNumber
CPAPI_
VARIABLEVALUECHANGED

Das Abonnieren dieses Ereignisses erfordert einen zusätzlichen Parameter - variableName. Nachdem das Ereignis abonniert wurde, werden alle Änderungen des Werts der bereitgestellten Variable angezeigt.

captivateVersion=STRING; (Nicht unterstützt)
varName=STRING;
oldVal=STRING;
newVal=STRING;

 

Beispiel

Starten Sie einen Ereignisemitter für das Ereignis CPAPI_VARIABLEVALUECHANGED. Bei Auslösung wird der Status einer Optionsfeldgruppe gemeldet, d. h. ob die erste oder zweite Option ausgewählt ist.

var alertEvent = function(){alert("Variablenwert geändert")};

window.cpAPIEventEmitter.addEventListener("CPAPI_VARIABLEVALUECHANGED", alertEvent , "radioOption1");

Verwenden Sie für die Optionsfeldgruppe den unten stehenden JS-Code für die Auswahlereignisse:

Schaltfläche 1

window.cpAPIInterface.setVariableValue("radioOption1", 'Sie haben die erste Option ausgewählt');

Schaltfläche 2

var option1 = window.cpAPIInterface.getVariableValue("radioOption1"); 

window.cpAPIInterface.setVariableValue("radioOption1", 'Sie haben die zweite Option ausgewählt')

cp

Auslösen von Aktionen auf Objektebene. Folgende Methoden werden unterstützt:

  • show

  • hide

Beispiel

cp.hide("ss1"); // Objekt ss1 ausblenden

cp.show("ss2"); // Objekt ss2 anzeigen

Schneller und einfacher Hilfe erhalten

Neuer Benutzer?