以前從來(lái)沒(méi)有做過(guò)SCORM的課件,自從認(rèn)識(shí)這個(gè)SCORM來(lái),一直是做LMS罷了.
只是BOSS這些天強(qiáng)烈建議我學(xué)會(huì)做一個(gè)內(nèi)容包.算一下好象快三天了.不過(guò)今天總算是把它拿下來(lái)了!
其實(shí)早就應(yīng)該發(fā)現(xiàn)這個(gè)問(wèn)題的.我一直沒(méi)在SCO中加入對(duì)應(yīng)的JS(只前些天,我也無(wú)心做這個(gè)東西.可惡!).
<
SCRIPT?LANGUAGE
=
JAVASCRIPT?SRC
=
"
util/APIWrapper.js
"
></
SCRIPT
>
<
SCRIPT?LANGUAGE
=
JAVASCRIPT?SRC
=
"
util/SCOFunctions.js
"
></
SCRIPT
>
<
SCRIPT?language
=
"
javascript
"
>
?loadPage();
?
var
???studentName?
=
?
"
!
"
;
?
var
???lmsStudentName?
=
?doLMSGetValue(??
"
cmi.core.student_name
"
?);
?
?
if
?(?lmsStudentName??
!=
?
""
?)

?
{
????studentName?
=
?
"
?
"
?
+
?lmsStudentName?
+
???
"
!
"
;
?}
?
?document.write(studentName);
?doContinue('completed');
?
</
SCRIPT
>
好象發(fā)現(xiàn)所以SCO頁(yè)面中的都有這些始化的代碼(SCORM1.2).
我摸著這個(gè)API一直往下走!在一個(gè)叫cmidatamodel_1.1.jar的包下總算是找到了一點(diǎn)眉目.接著一陣狂反編譯...
只是最后的結(jié)果令我有些郁悶,不知道是不是自己搞錯(cuò)了.getvalue的方法對(duì)了student_name 好象總是空的!
主要部分代碼如下:
student_name?=?new?Element("",?"checkString255",?"NULL",?false,?true,?true);


.

String?s1?=?new?String("");
????????Class?class1?=?obj.getClass();
????????try

????????
{
????????????Field?field?=?class1.getField(s);
????????????Element?element?=?(Element)field.get(obj);
????????????if(element.isReadable())

????????????
{
????????????????s1?=?element.getValue();

?初步判斷,class1就是CMICore.java類了.student_name 是在其中構(gòu)造函數(shù)中初始化的!
element 代碼如下:
public?Element(String?s,?String?s1,?String?s2,?boolean?flag,?boolean?flag1,?boolean?flag2)

????
{
????????value?=?s;
????????type?=?s1;
????????vocabularyType?=?s2;
????????writeable?=?flag;
????????readable?=?flag1;
????????if(s.equalsIgnoreCase(""))
????????????initialized?=?false;
????????else
????????????initialized?=?true;
????????mandatory?=?flag2;
????????implemented?=?true;
????}

?public?String?getValue()

????
{
????????return?value;
????}


沒(méi)有輸出的跟蹤過(guò)!只是在代碼上看了一趟!它完全沒(méi)有跟DB發(fā)生交互(廢話,人家的東西都放到包里了,怎么可能與DB發(fā)生關(guān)系!),也許這本身就是1.2版本的一個(gè)特性吧!再說(shuō)API本來(lái)就可以人為定義(我以前處理的時(shí)候可不是這樣做的).當(dāng)然除此外有些地方與DB交互了......
雖然對(duì)這一點(diǎn)不是太了解,但BOSS交代的總算是完成了,下午還寫了個(gè)說(shuō)明文檔(如何做出來(lái)的). 狂暈!越寫越感覺自己SB!
剛剛,同事上來(lái)說(shuō)(8樓,除了上WC我簡(jiǎn)直不想到任何地方去.)外面的要下雨了! 正打算閃人,可是還是很負(fù)責(zé)任地跑到窗戶往外看了一眼(理智戰(zhàn)勝情感了).保守估計(jì),暫時(shí)不會(huì)下....? 又是一陣開機(jī)!因?yàn)槲蚁胗浺恍〇|西....
實(shí)在是亂七八糟地在寫.所以也不敢發(fā)到首頁(yè)去!不然又要被BS....