簡體   English   中英

訪問scorm數據/包

[英]Accessing scorm data/package

我必須構建一些東西或其他東西才能使用通過配置了scorm輸出的Captivate訓練/測驗收集的數據。 我已經對與scorm的LMS交互進行了一些研究,但似乎不太了解。 我的意思是,我知道scorm是一種過時的標准,我見過的大多數解決方案或多或少都在試圖將其指向價格過高的許可方向。

當我嘗試運行其中一個訓練文件時,前進幻燈片時出現以下錯誤-'g_objAPI'為null或不是對象。 根據我從閱讀中學到的內容,我假設我需要構造腳本來通過LMS專有功能之一實例化該對象-

LMSInitialize()
LMSFinish()
LMSGetValue()
LMSSetValue()
LMSCommit()
LMSGetLastError()
LMSGetErrorString()
LMSGetDiagnostic()

但是我有一種感覺,或者被引導去相信它不止於此。 我不能只和scorm互動嗎? 或者知道何時觸發事件,我可以通過我的一個處理功能移植數據。 還是真的像在演示文稿完成后訪問此g_objAPI一樣簡單? 真正地閱讀那里的一些參考文獻並沒有涉及。 我的意思是可以在清單中添加js,但是可以使用哪些可訪問的內容? 我知道有很多人擁護該標准的使用,但是考慮到它的最新版本是2004年,這不是一個非常現代的標准,這不是在ajax,jquery和其他技術問世之前設計的嗎? 似乎是一種過時的設計模型。 對不起,最后有些沮喪。

SCORM是一個標准,它不強加使用任何特定技術(盡管它暗示了javcascript,並且幾乎每個實現都在javascript中)。 我本人已經成功地將SCORM與ajax和許多js框架(jquery,prototype)結合使用。 因此它很舊,但還不陳舊。 1.2版也非常成功並且得到了廣泛使用(與SCORM2004不同)。

話雖如此,構建SCORM播放器相當復雜。 至少,您需要使用所提到的功能來實現API對象。 例如:

function API(){}
window.API     = API;
API.LMSInitialize     = LMSInitialize;
API.LMSFinish         = LMSFinish;
API.LMSGetValue       = LMSGetValue;
API.LMSSetValue       = LMSSetValue;
API.LMSCommit         = LMSCommit;
API.LMSGetLastError   = LMSGetLastError;
API.LMSGetErrorString = LMSGetErrorString;
API.LMSGetDiagnostic  = LMSGetDiagnostic;

function LMSInitialize() {
//...do your SCORM-compatible stuff
}

為了實現包括對象模型在內的完整SCORM標准,您實際上需要編寫數千行代碼(我知道,因為我這樣做了)

我建議您看一下包含SCORM播放器的開源LMS或項目,以了解您需要做什么(或者,如果他們的許可批准,請照原樣使用他們的代碼)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM