到目前为止我有这个代码......
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。
答案 0 :(得分:1)
所以,你正在打电话
setTimeout(sendData(), 1000);
相当于
var foo = sendData();
setTimeout(foo, 1000);
看到sendData
什么都不返回,这相当于
setTimeout(undefined, 1000);
你可能意味着:
setTimeout(sendData, 1000);