Scorm 2004 экономит один sco за один раз - PullRequest
0 голосов
/ 12 января 2012

Я создаю манифест с несколькими sco. Я установил, что когда я открываю sco, то это init, set ('cmi.success_status', 'пройдено'); спасти(). Это работает, но когда я открываю следующий sco, я вижу, что все в порядке. Значок в дереве навигации меняется на «пройден». Но когда я обновляю страницу [f5], первый sco я хорошо сохраняю, но второй sco не имеет данных сохранения, которые я установил. Что не так с моим манифестом?

<organizations default="w2l">
<organization identifier="w2l">
<title>Kurs pisania Beta 1</title>
<item identifier="l0_i" identifierref="l0" isvisible="true">
<title>Wstęp</title>
<item identifier="l1_i" identifierref="l1" isvisible="true"><title>Title1</title></item>
<item identifier="l2_i" identifierref="l2" isvisible="true"><title>Title2</title></item>
<item identifier="l3_i" identifierref="l3" isvisible="true"><title>Title3</title></item>
<item identifier="l4_i" identifierref="l4" isvisible="true"><title>Title4</title></item>


</item>
</organization>
</organizations>

Ответы [ 2 ]

0 голосов
/ 16 января 2012

Я пытался все.

Я стараюсь, как ты сказал.

На странице я положил:

            init();
        set('cmi.score.raw','100');
        complete();
        save();
        end(); - send terminate

Но тогда я был перенаправлен на страницу, где пишут: текущая сессия курса закончилась. Нажмите, чтобы продолжить. Тогда это работа. Но это то же самое, что раньше [f5 после сохранения полного статуса]. Я не хочу завершать сохранение и перехожу на следующую страницу без посещения «текущий сеанс курса завершен».

Если вы перейдете по ссылке, чтобы перейти на следующую страницу: set ('adl.nav.request', 'continue'); end (); учащийся перейдет к следующему уроку, но статус будет сохранен только на первой странице.

Я разместил свой пример здесь: fratczak.org/files/Scorm.zip Вы можете нажать на урок «Jak osiągnąć poziom mistrzowski?» и посмотрим, что получится.

0 голосов
/ 14 января 2012

Это, вероятно, проблема с реализацией во время выполнения в SCO, а не с манифестом. Вы звоните Terminate в событии onunload? Вы устанавливаете cmi.exit для приостановки перед выгрузкой, чтобы обеспечить сохранение данных?

...