Я разрабатываю LMS, совместимую с SCORM, и у меня возникли проблемы с Captivate сгенерированным содержимым.
По сути, поведение таково: если вы видите SCO (увлекать сгенерированный контент) с, например, 15 слайдами и 1 вопросом на каждом слайде быстро, моя lms не отслеживает все 15 вопросов, только первые 3 или 4. Если Вы долго ждете в конце, или если вы делаете медленный контент, он работает нормально.
После долгих поисков в Google, отладки и трассировки, наконец, я обнаружил две основные проблемы:
1) Captivate - связь по SCORM API является асинхронной (аналогична связи через flash - javascript). Таким образом, когда пользователь видит контент быстро, вызовы функций становятся все более и более разрозненными, и в конце, возможно, пользователь отвечает на вопрос 15, а контент отправляет информацию вопроса 4. Я не могу изменить интерфейс Flash или JS-Flash, потому что это предусмотрено Captivate.
Есть способ сделать эту синхронизацию ?? Я имею в виду, чтобы заставить вспышку подождать?
2) Функции работают дольше при каждом вызове, например, setValue занимает 7 миллисекунд в первый раз и 200 в последний раз.
Чтобы понять эту проблему, вот небольшая предыстория:
Захватывающее содержимое (все содержимое действительно, но более привлекательное) многократно вызывает определенную функцию, функцию SetValue, одну из функций API-интерфейса SCORM. Эта функция принимает два параметра (fieldName, value): первый - это имя поля, которое нужно установить, а второй - новое значение. В моей реализации эта функция сначала проверяет значение с помощью регулярного выражения, а затем устанавливает значение в объекте.
Хорошо, я могу добавить гораздо больше информации, но я не знаю, что действительно важно, я не надеюсь, что вы исправите мой код, не увидев его, но у меня нет идей, и мне нужны новые мнения, идеи, указания .... может быть, кто-то задаст правильный вопрос ... help:)
Спасибо