Adobe Captivate の JavaScript インターフェイス

概要

Adobe Captivate で JavaScript の新しいインターフェイス機能を使用することにより、強力かつ軽量なコンテンツを作成できます。この機能により、プロジェクトで JavaScript アクションを実行するための共通のプラットフォームを利用できるため、インタラクティブ性がさらに強化されます。 

コンテンツ内の各種変数にアクセスするための小さい JavaScript スニペットを作成できるようになりました。コンテンツから生成された各種イベントに登録できます。  

JavaScript API は、次の 2 つの方法で使用できます。

  • プロジェクトで JavaScript アクションを実行します。 

  • 実行時にパブリッシュした HTML に JavaScript コードを追加します。

Adobe Captivate でサポートしているオブジェクトは、次のとおりです。

  • cpAPIInterface:ユーティリティ関数を格納。JavaScript アクションを実行する際に必要。
  • cpAPIEventEmitter:コンテンツ内で生成された各種イベントに登録したり、登録を解除したりできます。
  • cp:オブジェクトレベルのアクションをトリガーするためのユーティリティを格納。

cpAPIInterface

cpAPIEventEmitter は、ウィンドウスコープで使用できるオブジェクトです。インターフェイスのオブジェクトにアクセスするには、window.cpAPIEventEmitter を使用します

Adobe Captivate でサポートされているメソッドは次のとおりです。

方法 説明 パラメーター 使用法
getVariableValue 指定した変数の値を返します。
  window.cpAPIInterface. getVariableValue ("varOne”);
setVariableValue 
変数名の値を、指定した値に設定します。 variableName:String
window.cpAPIInterface.setVariableValue ("cpQuizInfoStudentID", "John");
play プロジェクトを再生します   window.cpAPIInterface. play();
pause プロジェクトを一時停止します   window.cpAPIInterface.pause();
next 次のスライドに進む   window.cpAPIInterface.next();
previous 前のスライドに移動   window.cpAPIInterface.previous();
getDurationInSeconds プロジェクトの合計時間(秒単位)を返します。
  window.cpAPIInterface.getDurationInSeconds();
getEventEmitter cpAPIEventEmitter オブジェクトのハンドルを返します。 
  window.cpAPIInterface.getEventEmitter();
getCurrentSlideIndex プロジェクトの現在のスライドインデックスを返します。   window.cpAPIInterface.getCurrentSlideIndex();

 

 

非推奨のメソッド

  • getCurrentFrame
  • GetDurationInFrames

例 1

この例では、変数作成ワークフローを使用して変数を作成します。 次に、新しい変数を使用して値を変更し、その値を警告メッセージとして表示します。

次の手順に従って、変数値を設定および取得します。

  1. 「変数」画面で「myVar」という変数を作成し、その変数に「NYC」という値を割り当てます。

  2. このプロジェクトでステージにボタンを追加し、右側のパネルで「インタラクション」を選択します。

  3. アクションパネルで、詳細/JavaScript を実行を選択します。次のコードを入力します。

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

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

    alert(getVar);

    コードの内容を説明します。

    • 1 行目:変数「myVar」の値を、新しい値「BLR」に変更しました。 値を変更するために、setVariableValue メソッドを使用しています。

    • 2 行目:getVariableValue メソッドを使用して、前のステップで設定した新しい値を取得しました。その値を新しい変数「getVar」に格納しました。

    • 3 行目:警告ボックス内に新しい値を表示しました。 

  4. 「完了」を選択します。

  5. プロジェクトをプレビューしてボタンを選択します。警告ボックスがポップアップ表示されます。

例 2

この例では、システム変数「Date.DateMMDDYY」を使用して、現在の日付を表示します。 プロセスは前の例で説明されているとおりです。

JavaScript エディターで、次のコードを入力します。

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

alert(dateVar);

プロジェクトをプレビューしてボタンを選択すると、警告ボックスに現在の日付が表示されます。

cpAPIEventEmitter

cpAPIEventEmitter は、ウィンドウスコープで使用できるオブジェクトです。インターフェイスのオブジェクトにアクセスするには、window.cpAPIEventEmitter を使用します

サポートされているメソッドは次のとおりです。

名前 説明 パラメーター 使用法
add
EventListener
イベントリスナー機能を特定のイベントに追加します。
  • eventName:このページに
    一覧表示されるイベント名の 1 つ。
  • eventListenerFunction:
    任意の JavaScript 関数。
  • variableName: 
    1. オプション。 
    2. 値の変更を通知する
      必要のある Captivate 変数名の 1 つ。

    3. CPAPI_
      VARIABLEVALUECHANGED
      イベントとともに使用する必要があります。
  • window.
    cpAPIEventEmitter.
    addEventListener("CPAPI_
    MOVIESTART
    ",
    function(){alert
    ("Movie Started");});
  • window.
    cpAPIEventEmitter.
    addEventListener
    ("CPAPI_VARIABLE
    VALUECHANGED
    ",
    function(){alert("Variable
    Value Changed");},
    "cpQuizInfoStudentID");
remove
EventListener
特定のイベントのイベントリスナー機能を削除します。
  • eventName:
    このページに一覧表示される
    イベント名の 1 つ。
  • eventListenerFunction:任意の
    JavaScript 関数。
  • variableName: 
    • オプション。 
    • 値の変更を通知する
      必要のある Captivate 変数名の 1 つ。
    • CPAPI_
      VARIABLEVALUECHANGED
      イベントとともに使用する必要があります。
  • window.
    cpAPIEventEmitter.
    removeEventListener
    ("CPAPI_MOVIESTART",
    function()
    {alert("Movie Started");});
  • window.
    cpAPIEventEmitter.
    removeEventListener
    ("CPAPI_VARIABLE
    VALUECHANGED
    ",
    function(){alert
    ("Variable Value Changed");},
    "cpQuizInfoStudentID");

サポートされているイベント

イベントのリスト:

名前 説明 イベントデータ 一覧

CPAPI_SLIDEENTER

ムービーが新しいスライドを開始したことを通知します。

slideNumber=NUMBER;

frameNumber=NUMBER; (非推奨)

 lcpversion=STRING;(未サポート)

 

CPAPI_SLIDEEXIT

ムービーのスライドが終了することを通知します。

slideNumber=NUMBER;

frameNumber=NUMBER; (非推奨)

lcpversion=STRING;(未サポート)

percentageSlideSeen=
NUMBER;(未サポート)

 
CPAPI_
STARTPLAYBARSCRUBBING
ユーザーが再生バーを使用してムービーのシークを開始したことを通知します。 未サポート  
CPAPI_
ENDPLAYBARSCRUBBING
ユーザーが再生バーを使用してムービーのシークを停止したことを通知します。 未サポート  
CPAPI_INTERACTIVEITEM ユーザーがインタラクティブ項目を使用してインタラクションを実行したことを通知します。 frameNumber=NUMBER;(非推奨)
includedInQuiz=BOOLEAN;(未サポート)
issuccess=BOOLEAN;(未サポート)
itemname=STRING;
objecttype=NUMBER;
questioneventdata=
[object Object];(未サポート)
slideNumber=NUMBER;
 
CPAPI_MOVIEPAUSE ムービーが一時停止されたことを通知します。    
CPAPI_MOVIERESUME ムービーが一時停止状態から再開されたことを通知します。    
CPAPI_MOVIESTART ムービーが開始されたことを通知します。    
CPAPI_MOVIESTOP ムービーが停止されたことを通知します。 (未サポート)
 
CPAPI_QUESTIONSKIP ユーザーが質問スライドをスキップしたことを通知します。 correctAnswer=STRING;
infiniteAttempts=BOOLEAN;
interactionID=NUMBER; 
objectiveID=STRING;(未サポート)
questionAnswered=BOOLEAN;
questionAnsweredCorrectly
=BOOLEAN;
questionAttempts=NUMBER;
questionMaxAttempts=NUMBER;
questionMaxScore=NUMBER;
questionNumber=NUMBER;
questionScore=NUMBER;
questionScoringType=
[object Object],{Name:STRING};(未サポート)
questionType=STRING;
quizName=STRING;(未サポート)
reportAnswers=BOOLEAN; 
selectedAnswer=STRING;
slideNumber=NUMBER;

interactionType:(未サポート)

  • choice
  • true-false
  • fill-in
  • long-fill-in
  • hotspot
  • sequencing
  • matching
  • likert

questionType -

  • choice
  • true-false
  • fill-in
  • long-fill-in
  • hot-spot
  • sequencing
  • matching
  • likert

questionScoringType
["Name"]
-未サポート

  • PretestQuestion
  • GradedQuestion
  • SurveyQuestion

サポートされているイベント:

  • correctAnswer
  • infiniteAttempts
  • interactionID
  • questionAnswered
  • questionAnsweredCorrectly
  • questionAttempts
  • questionMaxAttempts
  • questionMaxScore
  • questionNumber
  • questionScore
  • QuestionType(選択肢、正誤、解答記述、順序付け、照合)
  • reportAnswers
  • selectedAnswer
  • slideNumber
CPAPI_QUESTIONSUBMIT ムービーで質問スライドに回答があったことを通知します。 correctAnswer=STRING;
infiniteAttempts=BOOLEAN;
interactionID=NUMBER;(未サポート)
objectiveID=STRING;(未サポート)
questionAnswered=BOOLEAN;
questionAnsweredCorrectly=
BOOLEAN;
questionAttempts=NUMBER;
questionMaxAttempts=NUMBER;
questionMaxScore=NUMBER;
questionNumber=NUMBER;
questionScore=NUMBER;
questionScoringType=[object Object],{Name:STRING};(未サポート)
questionType=STRING;
quizName=STRING;(未サポート)
reportAnswers=BOOLEAN; 
selectedAnswer=STRING; 
slideNumber=NUMBER;

サポートされているイベント:

  • correctAnswer
  • infiniteAttempts
  • interactionID
  • questionAnswered
  • questionAnsweredCorrectly
  • questionAttempts
  • questionMaxAttempts
  • questionMaxScore
  • questionNumber
  • questionScore
  • QuestionType(選択肢、正誤、解答記述、順序付け、照合)
  • reportAnswers
  • selectedAnswer
  • slideNumber
CPAPI_
VARIABLEVALUECHANGED

このイベントに登録するには、variableName パラメーターを追加する必要があります。 登録したら、指定した変数の値に対する変更がすべて通知されます。

captivateVersion=STRING;(未サポート)
varName=STRING;
oldVal=STRING;
newVal=STRING;

 

イベント CPAPI_VARIABLEVALUECHANGED のイベントエミッターを開始します。 第 1 オプションまたは第 2 オプションを選択するとトリガーされ、ラジオボタングループの状態に関するアラートが通知されます。

var alertEvent = function(){alert("Variable Value Changed")};

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

ラジオボタングループについては、選択イベントに次の JS コードを使用します。

ボタン 1

window.cpAPIInterface.setVariableValue("radioOption1", 'You have selected first option');

ボタン 2

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

window.cpAPIInterface.setVariableValue("radioOption1", 'You have selected second option')

cp

オブジェクトレベルのアクションをトリガーします。 サポートされているメソッドは次のとおりです。

  • 表示

  • 非表示

cp.hide("ss1"); // hide object ss1

cp.show("ss2"); // show object ss2

ヘルプをすばやく簡単に入手

新規ユーザーの場合

Adobe MAX 2025

Adobe MAX Japan
クリエイターの祭典

2025 年 2 月 13 日
東京ビッグサイト