SCORM 2004 获取和设置值



我正在尝试获取和设置各种目标的完成状态。我正在尝试做这些;

str = scorm.GetValue("cmi.objectives." + i.toString() + ".completion_status");

GetValue('cmi.objectives.0.completion_status') returned '' in 0 seconds
[13:50:23.469] Checking for GetValue Error
[13:50:23.469] SCORM ERROR FOUND - Set Error State: 301 - 
The Objectives collection does not have an element at index 0, the current element count is 0.

这是SCORM云的日志。我认为这可能与为目标提供 ID 有关。

的目标不是在清单中设置ID,我不知道我必须这样做。所以问题是我是否需要为每个目标(清单或 javascript)提供一个 ID?

如果您认为/猜测/知道问题完全不同,任何帮助将不胜感激。

所以通常你可以检查 -斯科姆。GetValue('cmi.objectives._count')来了解您是否有任何要轮询的目标。

如果它返回 2,那么您将有两个目标可以循环通过以查找需要更新 cmi.objective.x.id。 或者,如果您添加新目标,该_count将为您提供打包数组中的下一个可用索引。

如果您的_count为 1,则值得尝试检查completion_status等...... 否则,您将生成类似于您所描述的 SCORM 错误。

希望有帮助。

在设置(或获取)其他值之前,需要先设置 id - 请参阅 SCORM 一致性要求中的 REQ_72.4.2.6(大约第 50 页)。

在javascript中设置id是完全可以的,所以你可以很容易地将"objective_1"用于第一个等(尽管为了更多的未来证明,它应该是某种形式的URN - 即使这是"urn:x-local:objective_1")。

最新更新