Dev #11
@@ -252,6 +252,7 @@ def build_scorm_zip(slug):
|
||||
html = render_template(
|
||||
"play.html", game=game, screens_data=payload["screens"], payload_json=json.dumps(payload),
|
||||
offline_mode=True, asset_url=lambda filename: "static/" + filename,
|
||||
scorm_api_wrapper_url="static/js/play/offline/scorm-api.js",
|
||||
)
|
||||
html = _relativize_absolute_urls(html, slug)
|
||||
html = _inline_icon_urls(html, payload["icon_data_uris"])
|
||||
|
||||
@@ -189,6 +189,14 @@
|
||||
// triggers.js. runScreenHeldKeyTriggers(), lui, est déjà appelé depuis
|
||||
// showScreen() comme runScreenTimerTriggers().
|
||||
bindHeldKeyTriggers();
|
||||
// Le jeu exporté (SCORM) est souvent chargé dans une iframe par le LMS,
|
||||
// qui ne reçoit pas le focus clavier automatiquement — sans focus, les
|
||||
// événements keydown n'atteignent jamais window et le personnage ne
|
||||
// bouge/anime jamais. On force le focus au chargement et on le
|
||||
// reprend au premier clic dans le jeu.
|
||||
window.focus();
|
||||
document.body.tabIndex = -1;
|
||||
document.body.addEventListener('click', function () { window.focus(); });
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user