自动将SCORM数据发送到LMS

时间:2014-06-25 10:46:01

标签: javascript scorm

到目前为止我有这个代码......

function sendData() {

    // this work out where I am and construct the 'cmi.core.lesson.location' variable
    computeTime();
    var a = "" + (course.length - 1) + "|";
    for (i = 1; i < course.length; i++) {
        a = a + qbin2hex(course[i].pages).join("") + "|";
            if (iLP == 1) {
                    a = a + course[i].duration + "|";
                    a = a + course[i].timecompleted + "|"
            }
    }
    SetQuizDetails();

    a = a + course[0].quiz_score_running + "|0|0|0|0|0|0|";
    objAPI.LMSSetValue("cmi.core.lesson_location", "LP_AT7|" + a);
    bFinishDone = (objAPI.LMSCommit("") == "true");
    objAPI.LMSCommit("");
    console.log("Data Sent!");
}
setTimeout(sendData(), 1000);

然而,它似乎没有像预期的那样工作。应该每隔1000毫秒将数据发送到服务器,但这不会发生。我在这里缺少什么?

我注意到,这是SCORM 1.2。

1 个答案:

答案 0 :(得分:1)

所以,你正在打电话

setTimeout(sendData(), 1000);

相当于

var foo = sendData();
setTimeout(foo, 1000);

看到sendData什么都不返回,这相当于

setTimeout(undefined, 1000);
你可能意味着:

setTimeout(sendData, 1000);